summaryrefslogtreecommitdiffstats
path: root/runtime/syntax/testdir/input/modula2_r10.def
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/syntax/testdir/input/modula2_r10.def')
-rw-r--r--runtime/syntax/testdir/input/modula2_r10.def146
1 files changed, 146 insertions, 0 deletions
diff --git a/runtime/syntax/testdir/input/modula2_r10.def b/runtime/syntax/testdir/input/modula2_r10.def
new file mode 100644
index 0000000000..0872d5dfb9
--- /dev/null
+++ b/runtime/syntax/testdir/input/modula2_r10.def
@@ -0,0 +1,146 @@
+(* Modula-2 R10 Test File for Vim Syntax Colouring *)
+
+(* --------------------------------------------------
+ * THIS FILE IS LICENSED UNDER THE VIM LICENSE
+ * see https://github.com/vim/vim/blob/master/LICENSE
+ * -------------------------------------------------- *)
+
+DEFINITION MODULE Foobar; (*!m2r10*)
+
+IMPORT UNSAFE ALIAS BYTE, WORD, ADDRESS;
+
+CONST MaxFoo = 1.0;
+
+TYPE Foo = ALIAS OF Bar;
+
+(* predefined constants *)
+NIL FALSE TRUE
+
+(* predefined types *)
+BOOLEAN CHAR UNICHAR OCTET CARDINAL LONGCARD INTEGER LONGINT REAL LONGREAL
+
+(* predefined procedures *)
+APPEND INSERT REMOVE SORT SORTNEW
+
+(* predefined functions *)
+CHR ORD ODD ABS SGN MIN MAX LOG2 POW2 ENTIER PRED SUCC PTR CAPACITY COUNT LENGTH
+
+(* predefined macros *)
+NOP TMIN TMAX TSIZE TLIMIT
+
+(* unsafe builtins *)
+UNSAFE
+
+(* unsafe builtin types *)
+BYTE WORD LONGWORD ADDRESS OCTETSEQ
+
+(* unsafe builtin procedures *)
+ADD SUB DEC INC SETBIT HALT
+
+(* unsafe builtin functions *)
+ADR CAST BIT SHL SHR BWNOT BWAND BWOR
+
+(* non-portable language extensions *)
+ASSEMBLER ASM REG
+
+(* user defined identifiers *)
+foobar Foobar FooBar foo_bar foo0
+
+
+(* string literals *)
+str := "foo 'bar' baz";
+str := 'foo "bar" baz';
+
+(* numeric literals *)
+0b0110'0011'0110'0000, 0u0A, 0x0123, 0xCAFE'D00D
+1'000'000.00, 1.23, 1.23e+10, 1.234'567'890e-1'000
+
+
+(* language defined pragmas *)
+<*MSG=INFO:"foobar"*> <*ENCODING="UTF8"*> <*INLINE*> <*NOINLINE*> <*FFI="C"*>
+
+(* implementation defined pragmas *)
+<*GM2.Foobar|W=Bazbam*>
+
+
+(* single line comment *)
+! foo bar baz bam boo
+
+(* block comments with emphasis *)
+(* copyright (c) 2016 Modula-2 Foundation.
+ authors B.Kowarsch and R.Sutcliffe
+ license see LICENSE *)
+
+(* pre-conditions: foo bar baz bam boo doodle wah.
+ post-conditions: foodle babble bozo bim bam dang.
+ error-conditions: dada jingle jungle boggle dee boo. *)
+
+(* (* *) *)
+
+(* bindings *)
+PROCEDURE [+] sum ( a, b : BCD ) : BCD;
+
+PROCEDURE [MOD] modulus ( n, m : INT64 ) : INT64;
+
+PROCEDURE [RETAIN] Retain ( foo : Foo );
+
+PROCEDURE [LENGTH] length ( str : String ) : LONGCARD;
+
+
+(* procedures *)
+PROCEDURE NewFooWithBar ( VAR foo: Foo; bar : INTEGER );
+BEGIN
+ NEW(foo);
+ foo^.bar := bar;
+ RETURN
+END NewFooWithBar;
+
+END END;
+
+(* functions *)
+PROCEDURE bar ( foo : Foo ) : INTEGER;
+BEGIN
+ IF foo = NIL THEN
+ UNSAFE.HALT
+ ELSE
+ RETURN foo^.bar
+ END (* IF *)
+END bar;
+
+
+(* technical debt *)
+TO DO ( 1234, Weight.Major ) (* foo *)
+ "redesign foo", 2d;
+ "replace foo", 2d;
+ "test new foo", 1d
+END (* TO DO *);
+
+PROCEDURE SetBaba <*DEPRECATED*> ( n : CARDINAL );
+
+
+(* disabled code *)
+?<
+WHILE foo = bar DO
+ baz(bam, boo)
+END (* WHILE *);
+>?
+
+
+(* illegal characters *)
+` ~ $ % ? _
+
+(* illegal identifiers *)
+
+_bar _bar_baz _bar_baz__bam _bar_baz__bam_boo
+
+bar_ bar_baz_ bar_baz__bam_ bar_baz__bam_boo_
+
+__bar __bar_baz __bar_baz__bam __bar_baz__bam_boo
+
+bar__ bar_baz__ bar_baz__bam__ bar_baz__bam_boo__
+
+bar__baz __bar_baz__ __bar__baz__ __
+
+
+(* module end *)
+END Foobar.