%%MERR %classdef type
int bool
%%MERR %classdef assgnop
= += -= *= /= %=
%%MERR %token Struct definition has no tag
struct{
%%MERR %token Extraneous "var" in struct field definition
struct s{var
%%MERR %class Type Type should come last in struct field definition
struct s{int
%%MERR %notoken Invalid syntax in struct field definition
struct s{t{
%%MERR %notoken Extraneous material in struct field definition
struct s{{
%%MERR %token Extraneous keyword "struct" in field definition
struct s{i:struct
%%MERR %token Possible missing ';' between struct fields in definition
struct s{i:int j
%%MERR %notoken Expected ';' or '}' following struct field definition
struct s{i:int:
%%MERR %token Unexpected "{"; possible missing ';' after struct definition
struct s{i:int}{
%%MERR %notoken Possible missing ';' after struct definition
struct s{i:int}:
%%MERR %notoken Unexpected tokens before program's opening brace
a{
%%MERR %token Keyword "var" cannot appear before program's opening brace
var
%%MERR %notoken Extraneous material after program's closing brace
{}a
%%MERR %notoken Expected variable name in declaration
{var:
%%MERR %token Variable declaration has no type
{var a;
%%MERR %class Type Type should come last in variable declaration
{int
%%MERR %class Type Unexpected type name: invalid syntax in variable declaration?
{;int
%%MERR %token Variable declarations must precede executable code
{;var
%%MERR %notoken Expected ':' in variable declaration
{var a{
%%MERR %token Extraneous keyword "struct" in variable declaration
{var a:struct
%%MERR %token Misplaced "*" in variable declaration
{var a:*
%%MERR %notoken Expected type name in variable declaration
{var a:{
%%MERR %notoken Expected semicolon or '*' in variable declaration
{var a:int:
%%MERR %notoken Expected semicolon or '*' in variable declaration
{var a:bool:
%%MERR %notoken Expected semicolon or '*' in variable declaration
{var a:t:
%%MERR %token Struct definitions must precede braced program contents
{struct
%%MERR %token Struct definitions must precede braced program contents
{;struct
%%MERR %notoken Expected an operator or semicolon after expression
{a+b:
%%MERR %notoken Expected an operator or semicolon after expression
{a:
%%MERR %class AssgnOp Chained assignment operators are not allowed
{a=b=
%%MERR %notoken Expected an expression after assignment operator
{a=:
%%MERR %token Unexpected "=" following assignment; did you mean '=='?
{a= =
%%MERR %token Unexpected "=" following '<'; did you mean '<='?
{a< =
%%MERR %token Unexpected "=" following '>'; did you mean '>='?
{a> =
%%MERR %token Unexpected "<" following '<'; did you mean '<<'?
{a< <
%%MERR %token Unexpected ">" following '>'; did you mean '>>'?
{a> >
%%MERR %token Unexpected ">" following '<'; did you mean '!='?
{a<>
%%MERR %token Unexpected ">" following '>>'; operator '>>>' does not exist
{a>>>
%%MERR %token Unexpected "<" following '<<'; operator '<<<' does not exist
{a<<<
%%MERR %notoken Expected an expression after assignment operator
{a+=:
%%MERR %notoken Expected an expression after assignment operator
{a-=:
%%MERR %notoken Expected an expression after assignment operator
{a*=:
%%MERR %notoken Expected an expression after assignment operator
{a/=:
%%MERR %notoken Expected an expression after assignment operator
{a%=:
%%MERR %notoken Expected an operator or semicolon after expression
{a=b:
%%MERR %notoken Expected an operator or semicolon after expression
{a+=b:
%%MERR %notoken Expected an operator or semicolon after expression
{a-=b:
%%MERR %notoken Expected an operator or semicolon after expression
{a*=b:
%%MERR %notoken Expected an operator or semicolon after expression
{a/=b:
%%MERR %notoken Expected an operator or semicolon after expression
{a%=b:
%%MERR %notoken Expected an operator or ')' after 'if' condition
{if(a:
%%MERR %token Unexpected '=' in 'if' condition; did you mean '=='?
{if(a=
%%MERR %notoken Binary operator expected second operand
{a+:
%%MERR %notoken Binary operator expected second operand
{a-:
%%MERR %notoken Binary operator expected second operand
{a*:
%%MERR %token Unary '+' does not exist; did you mean '*+'?
{a* +
%%MERR %token Syntax error after '*'; did you mean '*=='?
{a* ==
%%MERR %token Syntax error after '*'; did you mean '*!='?
{a* !=
%%MERR %notoken Binary operator expected second operand
{a/:
%%MERR %notoken Binary operator expected second operand
{a%:
%%MERR %notoken Binary operator expected second operand
{a<<:
%%MERR %notoken Binary operator expected second operand
{a>>:
%%MERR %notoken Binary operator expected second operand
{a&&:
%%MERR %notoken Binary operator expected second operand
{a||:
%%MERR %notoken Binary operator expected second operand
{a^^:
%%MERR %notoken Binary operator expected second operand
{a&:
%%MERR %notoken Binary operator expected second operand
{a|:
%%MERR %notoken Binary operator expected second operand
{a^:
%%MERR %notoken Binary operator expected second operand
{a==:
%%MERR %notoken Binary operator expected second operand
{a!=:
%%MERR %notoken Binary operator expected second operand
{a>:
%%MERR %notoken Binary operator expected second operand
{a<:
%%MERR %notoken Binary operator expected second operand
{a>=:
%%MERR %notoken Binary operator expected second operand
{a<=:
%%MERR %token Unexpected '=' after '&'; operator '&=' does not exist
{a&=
%%MERR %token Unexpected '=' after '|'; operator '|=' does not exist
{a|=
%%MERR %token Unexpected '=' after '^'; operator '^=' does not exist
{a^=
%%MERR %token Unexpected '=' after '<<'; operator '<<=' does not exist
{a<<=
%%MERR %token Unexpected '=' after '>>'; operator '>>=' does not exist
{a>>=
%%MERR %notoken Argument to "alloc" must be parenthesized
{alloc:
%%MERR %notoken First argument to "alloc" must be an expression
{alloc(:
%%MERR %notoken First argument to "alloc" must be an expression
{x=alloc(:
%%MERR %token Operator "alloc" expects two arguments
{x=alloc(1)
%%MERR %notoken Second argument to "alloc" must be a type
{alloc(1,:
%%MERR %notoken Second argument to "alloc" must be a type
{x=alloc(1,:
%%MERR %notoken Argument to "size" must be parenthesized
{size:
%%MERR %notoken Argument to "size" must be parenthesized
{x=size:
%%MERR %notoken Argument to "size" must be an expression
{size(:
%%MERR %notoken Argument to "size" must be an expression
{x=size(:
%%MERR %notoken Argument to "offset" must be parenthesized
{offset:
%%MERR %notoken Argument to "offset" must be parenthesized
{x=offset:
%%MERR %notoken Argument to "offset" must be an expression
{offset(:
%%MERR %notoken Argument to "offset" must be an expression
{x=offset(:
%%MERR %token Unary '+' operator does not exist
{x=!+foo
%%MERR %token Unary '+' operator does not exist
{!+foo
%%MERR %token Unary '+' operator does not exist
{+foo
%%MERR %token Unary '+' operator does not exist
{x=+foo
%%MERR %token Unary '/' does not exist; did you mean '/='?
{x=/foo
%%MERR %token Unary '%' does not exist; did you mean '%='?
{x=%foo
%%MERR %notoken Unary '&' operator expects an lvalue
{&:
%%MERR %notoken Unary '&' operator expects an lvalue
{x=&:
%%MERR %notoken Unary '*' operator expects an expression
{*:
%%MERR %notoken Unary '*' operator expects an expression
{x=*:
%%MERR %notoken Unary '-' operator expects an expression
{-:
%%MERR %notoken Unary '-' operator expects an expression
{x=-:
%%MERR %notoken Condition in "if" statement requires parentheses
{if:
%%MERR %notoken Condition in 'if' statement must be an expression
{if(:
%%MERR %token Unmatched "else"
{else
%%MERR %token Unmatched "else"
{var a:b;else
%%MERR %token Unmatched "else"
{;else
%%MERR %token Braced blocks are not valid statements
{{
%%MERR %token Braced blocks are not valid statements
{var a:b;{
%%MERR %token Braced blocks are not valid statements
{;{
%%MERR %notoken Expected variable declaration or executable statement
{:
%%MERR %notoken Expected variable declaration or executable statement
{var a:b;:
%%MERR %notoken Expected statement
{;:
%%MERR %notoken Expected statement
{if(x):
%%MERR %notoken Expected statement
{if(x);else: