From 029f72b1a93430b24b88eb3a72c6114d9f149737 Mon Sep 17 00:00:00 2001
From: Daniel Baumann <daniel.baumann@progress-linux.org>
Date: Wed, 10 Apr 2024 22:09:20 +0200
Subject: Adding upstream version 2:9.1.0016.

Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
---
 runtime/syntax/testdir/input/modula2_r10.def | 146 +++++++++++++++++++++++++++
 1 file changed, 146 insertions(+)
 create mode 100644 runtime/syntax/testdir/input/modula2_r10.def

(limited to 'runtime/syntax/testdir/input/modula2_r10.def')

diff --git a/runtime/syntax/testdir/input/modula2_r10.def b/runtime/syntax/testdir/input/modula2_r10.def
new file mode 100644
index 0000000..0872d5d
--- /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.
-- 
cgit v1.2.3

