// test end of line comment module bbb { /* a test multi line comment block */ information /* A test comment */ { description := "Module // bbb"; version := "1.00"; copyright := "Copyright (C) 2019"; author := "John Ryland"; // author checksum := "_"; // perhaps compiler can update this or there is a publish step // perhaps 2 checksums, one for with comments and one without } imports { xml, json } interface { type minute := int8 ; // struct minute { int8 value; }; struct bar { int16 x; } struct foo; // forward declared type blah := int8; type blah2 := blah; const flt32 pi := 3.14; enum blah3 { g, gg := 1, ggg } struct blah4 { blah a; int8 b; int16 d; } struct blah5; function ff(int8 a, int16 b) => int8; function makefoo ( ) => foo; function makeFooFromString ( string input ) => foo; } implementation { type second := int8 ; struct bar2 { int16 x; } struct foo2; // forward declared type blah6 := int8; type blah7 := blah; const flt32 pi2 := 3.14; enum blah8 { g, gg := 1, ggg } struct blah9 { blah a; int8 b; int16 d; } struct blah10; function ff2(int8 a, int16 b) => int8 { int8 var1; // should this be illegal ? } function makefoo2 ( ) => foo; function makeFooFromString2 ( string input ) => foo; } tests }