Skip to content

WebisD/Dattebayo-compiler

Repository files navigation

Compiler

Compiler

GLC

Expression ⇐ ExpressionVariable | ConditionExpr | WhileDeclaration | PrintDeclaration ;




ExpressionVariable ⇐ (VariableDeclaration | VariableInitialization) , ENDPOINT ;

ConditionExpr ⇐ IfDeclaration | IfDeclaration , ElseDeclaration;

WhileDeclaration ⇐ TSUKUYOMI , LPAREN , MultipleConditionParam , RPAREN , LBRACK , Expression , RBRACK ;

PrintDeclaration ⇐ SHARINGAN , LPAREN , Values , RPAREN , ENDPOINT ;




VariableDeclaration ⇐ VariableType , IDENTIFIER ;

VariableType ⇐ RASENGAN | RAIKIRI | ZETSU | KUCHIYOSE ;

VariableInitialization ⇐ [VariableType] , IDENTIFIER , HAKU , Values;




IfDeclaration ⇐ NINJUTSU , LPAREN , MultipleConditionParam , RPAREN , LBRACK , Expression , RBRACK; Num ⇐ INT | FLOAT ;

ElseDeclaration ⇐ TAIJUTSU, LBRACK , Expression , RBRACK;




MultipleConditionParam ⇐ {[ConditionParam , Operator]} , ConditionParam ;

ConditionParam ⇐ (Values , Comparators , Value) ;

Comparators ⇐ KIRIGAKURE ;

Operator ⇐ KUMOGAKURE , AMEGAKURE ;




Values ⇐ Num | STRING | BOOLEAN | IDENTIFIER | NumOperation | StrOperation ;

Num : INT | FLOAT

NumOperation ⇐ (Num | IDENTIFIER) , Operation , (Num | IDENTIFIER) , [{Operation , (Num | IDENTIFIER)}] ;

Operation ⇐ FUUMASHURIKEN | KUNAI | SHURIKEN | KATANA ;

StrOperation ⇐ STRING , FUUMASHURIKEN , STRING , [{FUUMASHURIKEN , STRING}] ;

Releases

No releases published

Packages

No packages published

Languages