113 lines
1.6 KiB
Modula-2
113 lines
1.6 KiB
Modula-2
(* Modula-2 R10 Syntax highlighting test *)
|
|
|
|
(* dialect tags *)
|
|
|
|
(*!m2r10*)
|
|
|
|
|
|
(* pragmas *)
|
|
|
|
<*foo*>
|
|
|
|
|
|
(* line comments *)
|
|
|
|
! foo bar baz bam boo
|
|
|
|
|
|
(* foldable comments *)
|
|
|
|
(* foo bar baz
|
|
(* nested comment *)
|
|
bam boo bee bop *)
|
|
|
|
|
|
(* reserved words *)
|
|
|
|
ALIAS AND ARGLIST ARRAY BEGIN BLUEPRINT BY CASE CONST COPY DEFINITION DIV DO
|
|
ELSE ELSIF END EXIT FOR FROM GENLIB IF IMPLEMENTATION IMPORT IN LOOP MOD
|
|
MODULE NEW NOT OF OPAQUE OR POINTER PROCEDURE READ RECORD REFERENTIAL RELEASE
|
|
REPEAT RETAIN RETURN SET THEN TO TYPE UNTIL VAR WHILE WRITE YIELD
|
|
|
|
|
|
(* built-in constants *)
|
|
|
|
FALSE NIL TRUE
|
|
|
|
|
|
(* built-in types *)
|
|
|
|
BOOLEAN CARDINAL CHAR INTEGER LONGCARD LONGINT LONGREAL OCTET REAL
|
|
|
|
|
|
(* built-in procedures *)
|
|
|
|
ABS APPEND CAPACITY CHR COUNT ENTIER INSERT LENGTH LOG2 MAX MIN ODD ORD
|
|
POW2 PRED PTR REMOVE SGN SUCC
|
|
|
|
|
|
(* UNSAFE facilities *)
|
|
|
|
(* module identifier *)
|
|
|
|
UNSAFE
|
|
|
|
(* reserved words *)
|
|
|
|
CAST
|
|
|
|
(* constants *)
|
|
|
|
BitsPerAddress BitsPerByte BytesPerWord BytesPerLongWord
|
|
|
|
(* types *)
|
|
|
|
ADDRESS BYTE WORD LONGWORD OCTETSEQ
|
|
|
|
(* procedures *)
|
|
|
|
ADD ADR BIT BWAND BWNOT BWOR HALT SETBIT SHL SHR SUB
|
|
|
|
|
|
(* number literals *)
|
|
|
|
CONST
|
|
b = 0b0110'1001; (* base-2 *)
|
|
|
|
n = 1000'0000; (* base-10 *)
|
|
|
|
x = 0xDEAD'BEEF; (* base-16 *)
|
|
|
|
c = 0u2A; (* character code *)
|
|
|
|
r = 1.234; (* real number *)
|
|
|
|
|
|
(* quoted literals *)
|
|
|
|
CONST
|
|
apostrophe = "'"; doublequote = '"';
|
|
single ='foobar'; double = "bazbam";
|
|
|
|
|
|
(* sample code *)
|
|
|
|
TYPE Foo = RECORD
|
|
bar : Baz;
|
|
bam : Boo
|
|
END; (* Foobar *)
|
|
|
|
|
|
VAR
|
|
foo, bar, baz : CARDINAL;
|
|
|
|
|
|
IF foo > bar THEN
|
|
baz := bam
|
|
ELSE
|
|
baz := boo
|
|
END;
|
|
|
|
|
|
(* EOF *)
|