Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- application-definition = "[<", application-type, ">]", newline ;
- application-type = "ConsoleApplication" | "WindowApplication" | "ComponentApplication" ;
- newline = ? \n | \r ? ;
- using-library = "with", identifier, newline ;
- identifier = ( letter | "_" ), { ( letter | digit | "_" ) } ;
- letter = "A" | "B" | "C" | "D" | "E"
- | "F" | "G" | "H" | "I" | "J"
- | "K" | "L" | "M" | "N" | "O"
- | "P" | "Q" | "R" | "S" | "T"
- | "U" | "V" | "W" | "X" | "Y"
- | "Z" ;
- digit = "1" | "2" | "3" | "4" | "5" |
- | "6" | "7" | "8" | "9" | "0" ;
- namespace = "module", identifier, ":", "{", { interface|type }, "}" ;
- interface = "interface", identifier, ":", "{", interface-implementations, "}" ;
- type = [ "implement", identifier, { ",", identifier } , "for" ], "type", identifier, ":", "{", ( type-able ), "}" ;
- interface-implementations = { identifier, { identifier }, newline } ;
- type-able = { ( member | let-method | inherit ), newline } ;
- member = "member", variadic-args ;
- let-method = "let", identifier, variadic-args-optional, ":", "{", (let-able), "}" ;
- let-able = ( let-variable | while | for | times | method-call | do-while | foreach | conditional | implicit-conditional | case-when ), newline ;
- inherit = "inherit", identifier ;
- variadic-args = identifier, { ",", identifier } ;
- variadic-args-optional = [ variadic-args ] ;
- let-variable = "let", identifier, variable-able ;
- while = "while", condition, ":", "{", let-able, "}" ;
- for = "for", identifier, "in", ( identifier | { digit } ), "..", ( identifier | { digit } ), ":", "{", let-able, "}" ;
- times = ( identifier | { digit } ), ".", "times", identifier, ":", "{", let-able, "}";
- method-call = "call", identifier, variadic-args-optional ;
- condition = condition-able, [ comparasion-operators, condition-able ], { ( "||" | "&&" ), condition } ;
- bool = "True" | "False" ;
- integer = [ "-" ], { digit }, [ "e", digit, { digit } ] ;
- string = ? String ? ;
- double-float = [ "-" ], { digit }, [ ".", digit, { digit } ];
- condition-able = identifier | double-float | { digit } | bool
- comparasion-operators = "==" | "!=" | "<" | ">" | ">=" | "<=" | "===" | "!==" ;
- conditional = "if", condition, ":", "{", let-able, "}" ;
- do-while = "do", ":", "{", newline, let-able, "}", "while", condition ;
- foreach = "foreach", identifier, "as", identifier, ":", "{", let-able,"}" ;
- for = "for", for-able, ":", "{", let-able, "}" ;
- for-able = identifier, "=", ( { digit } | double-float | identifier ), ";", condition, ";", for-calc, ":", "{", let-able, "}" ;
- for-calc = ( identifier, increment-decrement ) | ( increment-decrement, identifier ) | math-calc ;
- increment-decrement = "++" | "--" ;
- math-calc = ? JavaScript Math Calc ? ;
- implicit-conditional = condition, "then", return-value, newline, "otherwise", return-value ;
- case-when = "case", ( identifier | string | letter ) , ":", "{", newline, { when }, "}" ;
- variable-able = bool | integer | double-float | condition | math-calc | string | integer ;
- return-value = ? All possible JS values of return ? ;
- return-value = function-return, digit, integer, double, identifier, string, math-calc ;
- function-return = { identifier, "." }, identifier, variadic-args-optional;
- when = "when", condition, ":", newline, let-able, [ "break" | "continue" ], newline ;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement