91 lines
1.2 KiB
Modula-2
91 lines
1.2 KiB
Modula-2
(* PIM Modula-2 Syntax highlighting test *)
|
|
|
|
(* dialect tags *)
|
|
|
|
(*!m2pim*)
|
|
|
|
|
|
(* pragmas *)
|
|
|
|
(*$foo*)
|
|
|
|
|
|
(* foldable comments *)
|
|
|
|
(* foo bar baz
|
|
(* nested comment *)
|
|
bam boo bee bop *)
|
|
|
|
|
|
(* reserved words *)
|
|
|
|
AND ARRAY BEGIN BY CASE CONST DEFINITION DIV DO ELSE ELSIF END EXIT EXPORT FOR
|
|
FROM IF IMPLEMENTATION IMPORT IN LOOP MOD MODULE NOT OF OR POINTER PROCEDURE
|
|
QUALIFIED RECORD REPEAT RETURN SET THEN TO TYPE UNTIL VAR WHILE WITH
|
|
|
|
|
|
(* built-in constants *)
|
|
|
|
FALSE NIL TRUE
|
|
|
|
|
|
(* built-in types *)
|
|
|
|
BOOLEAN BITSET CARDINAL CHAR INTEGER LONGINT LONGREAL PROC REAL
|
|
|
|
|
|
(* built-in procedures *)
|
|
|
|
ABS ALLOCATE CAP CHR DEALLOCATE DEC DISPOSE EXCL FLOAT HALT HIGH
|
|
INC INCL MAX MIN NEW ODD ORD SIZE TRUNC VAL
|
|
|
|
|
|
(* unsafe facilities *)
|
|
|
|
(* module *)
|
|
|
|
SYSTEM
|
|
|
|
(* types *)
|
|
|
|
ADDRESS WORD PROCESS
|
|
|
|
(* procedures *)
|
|
|
|
ADR NEWPROCESS TRANSFER TSIZE
|
|
|
|
|
|
(* number literals *)
|
|
|
|
CONST
|
|
n = 1000; r = 1.234; x = 0FFFFH; c = 077C;
|
|
|
|
|
|
(* 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 *)
|