Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- %import common.ESCAPED_STRING -> STRING
- %import common.NUMBER
- %import common.WS
- %import common.LETTER
- %import common.CNAME
- %ignore WS
- start: (statement_expr | function_expr)+
- number_expr: (add_expr | sub_expr)
- statement_expr: (number_expr | (assignment_expr | assignment_backwards_expr | assignment_any_expr))
- EOL: "uwu"
- assignment_subject_expr: (number_expr+) | STRING
- identifier_expr: CNAME
- type_expr: "COC" | "BHAL"
- assignment_expr: "🍆💦" type_expr identifier_expr [("," identifier_expr)+] "=" assignment_subject_expr EOL
- assignment_backwards_expr: assignment_subject_expr "=" "🍆💦" identifier_expr [("," identifier_expr)+] type_expr EOL
- function_expr: "proc" identifier_expr "(" [(identifier_expr ",")+ identifier_expr] ")" "{" statement_expr+ "}"
- assignment_any_expr: assignment_subject_expr "=" "🍆💦" type_expr identifier_expr [("," identifier_expr)+] "=" assignment_subject_expr EOL
- sign_pos_expr: "+"
- sign_neg_expr: "-"
- sign_expr: (sign_neg_expr | sign_neg_expr)
- add_expr: inner_expr [("+" (inner_expr | important_expr))+]
- sub_expr: inner_expr [("-" (inner_expr | important_expr))+]
- mul_expr: inner_expr ("*" inner_expr)+
- div_expr: inner_expr ("/" inner_expr)+
- important_expr: (mul_expr | div_expr)
- inner_expr: [sign_expr] NUMBER | (number_expr)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement