// At the C level, full expressions and conditions are not tested, only simple terms that are not set constants

// Test simple terms
// simple_term	::=	IDNUM | IDSET | NUMBER | interval
thisisanIDNUM;
thisisanIDSET;
1234;

// interval	::=	"[" expression "," expression "]"
[a,2];
[B,20];

// Test all declarations
// statement	::=	var_decl | fn_decl
// var_decl	::=	VAR ident_list
// ident_list	::=	identifier ("," identifier)*
// identifier	::=	IDNUM | IDSET | IDBOOL
var a;
var B,#c;
var e,#F,G,h,I,#J;

// fn_decl		::=	FUNCTION identifier "(" (ident_list)? ")" body END
// body		::=	(statement ";")*
function A() end;
function b(c) return 1; end;
function #d(e,F,#G,h,i,#j) return k; end;