diff options
author | Andreas Baumann <mail@andreasbaumann.cc> | 2019-02-08 21:52:01 +0100 |
---|---|---|
committer | Andreas Baumann <mail@andreasbaumann.cc> | 2019-02-08 21:52:01 +0100 |
commit | cf4599dd0f78f984fbacbb0a57eb07eb75b80910 (patch) | |
tree | 1b3c441f1565b954d02cbc00f02142e26bd612ff /old | |
parent | 8186616a41e730aeda49c82309aaafa0134dd03d (diff) | |
download | compilertests-cf4599dd0f78f984fbacbb0a57eb07eb75b80910.tar.gz compilertests-cf4599dd0f78f984fbacbb0a57eb07eb75b80910.tar.bz2 |
some work on LHS/RHS in assignment with char arrays
Diffstat (limited to 'old')
-rw-r--r-- | old/minie.ebnf | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/old/minie.ebnf b/old/minie.ebnf index ab0ace1..04c1415 100644 --- a/old/minie.ebnf +++ b/old/minie.ebnf @@ -5,14 +5,17 @@ Character = Digit | Letter | "!" | " " | "#" | "$" | "%" | "'" | "(" | ")" | "* Number = Digit { Digit } . String = """ { Character | """ """ } """ | "'" . Identifier = Letter { Letter | Digit } . -QualifiedIdentifier = Identifier [ "." Identifier ]; -Factor = [ "+" | "-" ] Number | String | QualifiedIdentifier | "(" Expression ")" | ( "not" Factor ) . +QualifiedIdentifier = Identifier [ "." Identifier ] . +Factor = [ "+" | "-" ] Number | String | Designator | "(" Expression ")" | ( "not" Factor ) . +Designator = QualifiedIdentifier { Selector } . +Selector = ArrayDereference . +ArrayDereference = "[" Expression "]" . Term = Factor { ( "*" | "/" | "and" ) Factor } . SimpleExpression = Term { ( "+" | "-" | "or" ) Term } . RelationalOperator = "=" | "<>" | "<" | ">" | "<=" | ">=" . Expression = SimpleExpression [ RelationOperator SimpleExpression ]. VariableName = Identifier . -Assignment = VariableName ":=" Expression . +Assignment = Designator ":=" Expression . StatementList = Statement { ";" Statement } IfStatement = "if" Condition "do" StatementList "else" StatementList "end" . ParameterList = "(" [ Expression { "," Expression } ] ")" . |