// 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
}