BLOCK = { STATEMENT };
STATEMENT = VARIABLE_ASSIGNMENT | PRINT | IF_STATEMENT | WHILE_STATEMENT | FUNCTION_DEFINITION | RETURN_STATEMENT ;
VARIABLE_ASSIGNMENT = IDENTIFIER, "=" EXPRESSION, ";" ;
PRINT = "imprime" "(" EXPRESSION, ")" ";" ;
IF_STATEMENT = "se" "(" CONDITION, ")" BLOCO, ["senao" BLOCO] ;
WHILE_STATEMENT = "enquanto" "(" CONDITION, ")" BLOCO ;
FUNCTION_DEFINITION = "df" IDENTIFIER, "(" PARAMETROS, ")", BLOCO ;
RETURN_STATEMENT = "retorna" [EXPRESSION], ";" ;
BLOCO = "{" {STATEMENT} [RETURN_STATEMENT] "}" ;
PARAMETROS = [IDENTIFIER, {"," IDENTIFIER}] ;
CONDITION = CONDITION_SIMPLE, { LOGICAL_OPERATOR CONDITION_SIMPLE } ;
CONDITION_SIMPLE = EXPRESSION, COMPARISON_OPERATOR, EXPRESSION ;
LOGICAL_OPERATOR = "e" | "ou" ;
COMPARISON_OPERATOR = "==" | "!-" | "<" | ">" ;
EXPRESSION = TERM, { ADD_OPERATOR, TERM } ;
TERM = FACTOR, { MULT_OPERATOR, FACTOR } ;
FACTOR = IDENTIFIER | NUMBER | STRING | FUNCTION_CALL | "(", EXPRESSION, ")" ;
ADD_OPERATOR = "+" | "-" ;
MULT_OPERATOR = "*" | "/" ;
IDENTIFIER = LETTER, { LETTER | DIGIT | "_" } ;
NUMBER = DIGIT, { DIGIT } ;
LETTER = "a" | "b" | ... | "z" | "A" | "B" | ... | "Z" ;
DIGIT = "0" | "1" | ... | "9" ;
linguanova2's Introduction
linguanova2's People
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. ๐๐๐
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google โค๏ธ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.