X-Git-Url: https://git.martlubbers.net/?a=blobdiff_plain;f=src%2Fgrammar.txt;h=ce6732b87b223a68a8ea0614cb32936730b15341;hb=3d1c57710eb0b86f13df392f03131157aec22c21;hp=ab2e4dbe4c8962f4e3608ae0449913d039e93d44;hpb=d1e64de8a0cc6c01fba1a3dc17686f9539bf5744;p=cc1516.git diff --git a/src/grammar.txt b/src/grammar.txt index ab2e4db..ce6732b 100644 --- a/src/grammar.txt +++ b/src/grammar.txt @@ -1,27 +1,38 @@ + ::= '(' * ')' ['::' * + '}' + ::= + '->' + | + ::= 'if' '(' ')' '{' * '}' ['else' '{' * '}'] + | 'while' '(' ')' '{' * '}' + | '=' ';' + | ';' + | 'return' [] ';' + + ::= ( | 'var') '=' ';' ::= [':' ] ::= ['||' ] ::= ['&&' ] ::= [('==' | '<' | '>' | '<=' | '>=' | '!=') ] ::= (('+' | '-') )* - ::= ('*' | '/' | '%'] )* - ::= ['hd'|'tl'|'fst'|'snd] + ::= (['*' | '/' | '%'] )* + ::= | | | | 'False' | 'True' | '(' ')' - | '(' [] ')' + | | '[]' | '(' ',' ')' + ::= ('.' ('hd'|'tl'|'fst'|'snd))* + ::= '(' [] ')' ::= [',' ActArgs] - ::= ( | 'var') '=' ';' - ::= 'Int' | 'Bool' | 'Char' | '(' Type ',' Type ')' | '[' Type ']' | + ::= 'Void' | Type