Tabela sintática

Tabela sintática utilizada para a construção da vivi lang.

Tabela sintática

Não Terminal$<vivi>$</vivi>functionid():{},;=intdoublebooleanstringifelsefor==!=<<=>>=returnprintstr+-&&||*/%integerdecimaldigittruefalsenull$
SScripterrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorsync
Script$<vivi> Statements $</vivi>errorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorsync
StatementserrorεStatement StatementsStatement StatementserrorerrorerrorerrorεerrorerrorerrorerrorerrorerrorerrorStatement StatementserrorStatement StatementserrorerrorerrorerrorerrorerrorStatement StatementsStatement Statementserrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
FunctionDefinitionerrorsyncfunction id ( Parameters ) : Type { Statements }syncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
FunctionCallerrorsyncsyncid ( Arguments )errorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ParameterserrorerrorerrorParameterListerrorεerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ParameterListerrorerrorerrorid : Type MoreParameterserrorsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
MoreParameterserrorerrorerrorerrorerrorεerrorerrorerror, id : Type MoreParameterserrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ArgumentserrorerrorerrorArgumentListArgumentListεerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorArgumentListerrorerrorerrorerrorerrorerrorerrorArgumentListArgumentListArgumentListArgumentListArgumentListArgumentListerror
ArgumentListerrorerrorerrorExpression MoreArgumentsExpression MoreArgumentssyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorExpression MoreArgumentserrorerrorerrorerrorerrorerrorerrorExpression MoreArgumentsExpression MoreArgumentsExpression MoreArgumentsExpression MoreArgumentsExpression MoreArgumentsExpression MoreArgumentserror
MoreArgumentserrorerrorerrorerrorerrorεerrorerrorerror, Expression MoreArgumentserrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
StatementerrorsyncFunctionDefinitionFunctionCallerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorIfStatementerrorForLooperrorerrorerrorerrorerrorerrorReturnStatementPrintStatementerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
VariableDeclarationerrorsyncsyncid : Type Expression ;syncerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorsyncsyncsyncerrorerrorerrorerrorerrorerrorerrorsyncsyncsyncsyncsyncsyncerror
VariableAssignmenterrorsyncsyncid = Expression ;errorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
Typeerrorerrorerrorsyncsyncsyncerrorsyncerrorsyncerrorerrorintdoublebooleanstringerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncsyncsyncsyncsyncsyncerror
IfStatementerrorsyncsyncsyncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorif ( Condition ) { Statements } ElseClauseerrorsyncerrorerrorerrorerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ElseClauseerrorεεεerrorerrorerrorerrorεerrorerrorerrorerrorerrorerrorerrorεelse { Statements }εerrorerrorerrorerrorerrorerrorεεerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ForLooperrorsyncsyncsyncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorfor ( VariableDeclaration Condition ; Expression ) { Statements }errorerrorerrorerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
ConditionerrorerrorerrorExpression RelationalOp ExpressionExpression RelationalOp ExpressionsyncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorExpression RelationalOp ExpressionerrorerrorerrorerrorerrorerrorerrorExpression RelationalOp ExpressionExpression RelationalOp ExpressionExpression RelationalOp ExpressionExpression RelationalOp ExpressionExpression RelationalOp ExpressionExpression RelationalOp Expressionerror
RelationalOperrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror== != < <= > >=errorerrorerrorerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncsyncsyncsyncsyncsyncerror
ReturnStatementerrorsyncsyncsyncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorreturn ;syncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
PrintStatementerrorsyncsyncsyncerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorsyncerrorsyncerrorerrorerrorerrorerrorerrorsyncprint ( PrintArgument ) ;errorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerror
PrintArgumenterrorerrorerrorExpression strExpression strsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorExpression strerrorerrorerrorerrorerrorerrorerrorExpression strExpression strExpression strExpression strExpression strExpression strerror
ExpressionerrorerrorerrorTerm MoreTermsTerm MoreTermssyncerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorTerm MoreTermserrorerrorerrorerrorerrorerrorerrorTerm MoreTermsTerm MoreTermsTerm MoreTermsTerm MoreTermsTerm MoreTermsTerm MoreTermserror
MoreTermserrorerrorerrorerrorerrorεerrorerrorerrorεεerrorerrorerrorerrorerrorerrorerrorerrorεerrorerrorerrorerrorerrorerrorerrorε+ Term MoreTerms- Term MoreTermsLogicalOp Term MoreTermsLogicalOp Term MoreTermserrorerrorerrorerrorerrorerrorerrorerrorerrorerror
LogicalOperrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorerrorsyncerrorerror&&||errorerrorerrorsyncsyncsyncsyncsyncsyncerror
TermerrorerrorerrorFactor MoreFactorsFactor MoreFactorssyncerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorFactor MoreFactorssyncsyncsyncsyncerrorerrorerrorFactor MoreFactorsFactor MoreFactorsFactor MoreFactorsFactor MoreFactorsFactor MoreFactorsFactor MoreFactorserror
MoreFactorserrorerrorerrorerrorerrorεerrorerrorerrorεεerrorerrorerrorerrorerrorerrorerrorerrorεerrorerrorerrorerrorerrorerrorerrorεεεεε* Factor MoreFactors/ Factor MoreFactors% Factor MoreFactorserrorerrorerrorerrorerrorerrorerror
Factorerrorerrorerrorid( Expression )syncerrorerrorerrorsyncsyncerrorerrorerrorerrorerrorerrorerrorerrorsyncerrorerrorerrorerrorerrorerrorerrorstrsyncsyncsyncsyncsyncsyncsyncintegerdecimaldigittruefalsenullerror