|
60 | 60 | DIGIT = ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 ) ;
|
61 | 61 |
|
62 | 62 |
|
| 63 | +## If, While and logical operations (!, &&, ||, ==, >, <) v2.2.1 |
| 64 | + |
| 65 | +Syntactic diagram: https://github.com/IagoMendes/CompiladorJulia/blob/master/Diagrams/diagrama5.png |
| 66 | + |
| 67 | +EBNF: |
| 68 | + |
| 69 | + BLOCK = { COMMAND }; |
| 70 | + COMMAND = ( ASSIGNMENT | PRINT | IF | WHILE ); |
| 71 | + ASSIGNMENT = IDENTIFIER, “=”, ( RELEX | “readline()”); |
| 72 | + PRINT = “println”, “(“, RELEX, “)”; |
| 73 | + WHILE = “while”, RELEX, BLOCK, “end”; |
| 74 | + IF = “if”, RELEX, BLOCK, { ELSE | ELSEIF }, “end”; |
| 75 | + ELSEIF = “elseif”, RELEX, BLOCK, { ELSE | ELSEIF }; |
| 76 | + ELSE = “else”, BLOCK; |
| 77 | + RELEX = EXPRESSION, { (“==” | “<” | “>”), EXPRESSION }; |
| 78 | + EXPRESSION = TERM, { (“+” | “-” | “||”), TERM }; |
| 79 | + TERM = FACTOR, { (“*” | “/” | “&&”), FACTOR }; |
| 80 | + FACTOR = ( ( “+” | “-” | “!”), FACTOR) | NUMBER | IDENTIFIER | “(“, RELEX, “)”; |
| 81 | + IDENTIFIER = LETTER, { LETTER | DIGIT | “_” }; |
| 82 | + NUMBER = DIGIT, { DIGIT }; |
| 83 | + LETTER = ( a | … | z | A | … | Z ); |
| 84 | + DIGIT = ( 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 0 ); |
| 85 | + |
| 86 | + |
63 | 87 | ## Version Control
|
64 | 88 | v(Major).(Minor).(Build)
|
0 commit comments