--- /dev/null
+struct
+ x y z
+end;
+
+method f(a b c)
+ /* sollte funktionieren (zugriff auf this.x) */
+ var n := x;
+ return n;
+end;
+
--- /dev/null
+struct mystruct
+ field1
+ field2
+ field3
+end;
+method doit()
+ var a := 10000;
+ var b := 0x42;
+
+ return a - (b * 100);
+end;
+
+method tester(arg)
+ doit();
+end;
--- /dev/null
+method with_args2(arg1 arg2)
+ var a := 0;
+ doit();
+ another_stmt();
+ a;
+ something();
+ something_other(arg1,);
+end;
--- /dev/null
+struct mystruct
+end
--- /dev/null
+/*
+ Hi,
+ this is a very long comment with some keywords which should be eaten
+ struct struct
+ struct
+*/
--- /dev/null
+method testit()
+ var b := 10 - d * 20; /* should raise an error, since '(' ')' are missing */
+end;
--- /dev/null
+struct person
+ first_name
+ last_name
+end;
+
+method doit(person)
+ person.print_names(person.first_name, person.last_name,);
+end;
+
+method print_names(arg1 arg2)
+ if arg1 = arg2 then
+ this.print(arg1);
+ return 1;
+ end;
+ this.print(arg1);
+ this.print(arg2);
+ var a := 0;
+ a := (1 - 0x3).to_f();
+
+ if 1 then
+ print(a);
+ else
+ print(0); /* never reached */
+ end;
+end;
--- /dev/null
+struct
+ dots per line should be allowed some other
+end;
+
+method doit(a b)
+ while a < b do
+ var something := 0x42;
+ var many := 0x42;
+ var and := 0x42;
+ while a = b do
+ the_end();
+ end;
+ if something then
+ doit();
+ else if not something then end;
+ end;
+
+ many.dots.per.line.should.be.allowed := and.some.other.dots;
+
+ end;
+end;
--- /dev/null
+method abc(arg1 arg2)
+ if arg1 = arg2 then
+ var a := 42;
+ end;
+
+ var b := a - -1;
+end;
--- /dev/null
+method test_nested_ifs(arg1 arg2)
+ if arg1 = arg2 then
+ var a := 1;
+ end;
+
+ if not (arg1 = arg2) then
+ var a := 2;
+ var b := a - -1;
+ end;
+end;
--- /dev/null
+method abc(arg1 arg2)
+ if arg1 = arg2 then
+ var a := 42;
+ end;
+
+ var a := 3;
+ var b := a - -1;
+end;
+
--- /dev/null
+struct a b c end;
+method test(arg1 arg2)
+ arg1.a := 10;
+end;
+
+struct c d e end;
--- /dev/null
+method abc(arg1 arg2)
+ var arg2 := 10; /* detect duplicates and fail */
+end;