<beginfold id='1'>(*</beginfold id='1'> ISO Modula-2 Syntax highlighting test <endfold id='1'>*)</endfold id='1'>

<beginfold id='1'>(*</beginfold id='1'> dialect tags <endfold id='1'>*)</endfold id='1'>

(*!m2iso*)


<beginfold id='1'>(*</beginfold id='1'> pragmas <endfold id='1'>*)</endfold id='1'>

<*foo*>


<beginfold id='1'>(*</beginfold id='1'> foldable comments <endfold id='1'>*)</endfold id='1'>

<beginfold id='1'>(*</beginfold id='1'> foo bar baz
   <beginfold id='1'>(*</beginfold id='1'> nested comment <endfold id='1'>*)</endfold id='1'>
   bam boo bee bop <endfold id='1'>*)</endfold id='1'>


<beginfold id='1'>(*</beginfold id='1'> built-in constants <endfold id='1'>*)</endfold id='1'>

FALSE INTERRUPTIBLE NIL TRUE UNINTERRUPTIBLE


<beginfold id='1'>(*</beginfold id='1'> built-in types <endfold id='1'>*)</endfold id='1'>

BOOLEAN BITSET CARDINAL COMPLEX CHAR INTEGER LONGCOMPLEX LONGREAL
PROC PROTECTION REAL


<beginfold id='1'>(*</beginfold id='1'> built-in procedures <endfold id='1'>*)</endfold id='1'>

ABS ALLOCATE CAP CHR CMPLX DEALLOCATE DEC DISPOSE EXCL FLOAT HALT HIGH
INC INCL INT LENGTH LFLOAT MAX MIN NEW ODD ORD RE SIZE TRUNC VAL


<beginfold id='1'>(*</beginfold id='1'> reserved words <endfold id='1'>*)</endfold id='1'>

AND ARRAY BEGIN BY CASE CONST DEFINITION DIV DO ELSE ELSIF END EXIT EXPORT
FINALLY FOR FORWARD FROM IF IMPLEMENTATION IMPORT IN LOOP MOD MODULE NOT OF OR
PACKEDSET POINTER PROCEDURE QUALIFIED RECORD REM REPEAT RETRY RETURN SET THEN
TO TYPE UNTIL VAR WHILE WITH


<beginfold id='1'>(*</beginfold id='1'> unsafe facilities <endfold id='1'>*)</endfold id='1'>

<beginfold id='1'>(*</beginfold id='1'> module <endfold id='1'>*)</endfold id='1'>

SYSTEM

<beginfold id='1'>(*</beginfold id='1'> constants <endfold id='1'>*)</endfold id='1'>

BITSPERLOC BITSPERWORD

<beginfold id='1'>(*</beginfold id='1'> types <endfold id='1'>*)</endfold id='1'>

ADDRESS LOC WORD

<beginfold id='1'>(*</beginfold id='1'> procedures <endfold id='1'>*)</endfold id='1'>

ADDADR ADR CAST DIFADR MAKEADR ROTATE SHIFT SUBADR TSIZE


<beginfold id='1'>(*</beginfold id='1'> number literals <endfold id='1'>*)</endfold id='1'>

CONST
  n = 1000; r = 1.234; x = 0FFFFH; c = 077C;


<beginfold id='1'>(*</beginfold id='1'> quoted literals <endfold id='1'>*)</endfold id='1'>

CONST
  apostrophe = "'"; doublequote = '"';
  single ='foobar'; double = "bazbam";


<beginfold id='1'>(*</beginfold id='1'> sample code <endfold id='1'>*)</endfold id='1'>

TYPE Foo = RECORD
  bar : Baz;
  bam : Boo
END; <beginfold id='1'>(*</beginfold id='1'> Foobar <endfold id='1'>*)</endfold id='1'>


VAR
  foo, bar, baz : CARDINAL;


IF foo > bar THEN
  baz := bam
ELSE
  baz := boo
END;


<beginfold id='1'>(*</beginfold id='1'> EOF <endfold id='1'>*)</endfold id='1'>
