Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- S# =
- (function),
- {function};
- function = ident, params, body;
- params = {ident};
- body = lbrace, expression, rbrace;
- expression =
- number
- | expression, semicolon, expression
- | expression, arithmeticoperator, expression
- | lparen, expression, rparen
- | ifsym, lparen, condition, rparen, body, body // if statement
- | writesym, lparen, expression, rparen, semicolon, expression
- | readsym
- | ident, lparen, expression, rparen; // function
- arithmeticoperator = times | slash | plus | minus | mod;
- condition =
- truesym
- | falsesym
- | expression, conditionaloperator, expression
- | negation, condition
- | condition, logicaloperator, condition;
- logicaloperator = andsym | orsym;
- conditionaloperator = eql | neq | lss | gtr;
- ident = ? alphanumeric characters ?;
- number = ? digits ?;
- lbrace = "{";
- rbrace = "}";
- semicolon = ";";
- lparen = "(";
- rparen = "}";
- writesym = "write";
- readsym = "read";
- times = "*";
- slash = "/";
- plus = "+";
- minus = "-";
- mod = "%";
- truesym = "1";
- falsesym = "0";
- negation = "~";
- andsym = "&&";
- orsym = "||";
- eql = "==";
- neq = "!=";
- lss = "<";
- gtr = ">";
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement