aboutsummaryrefslogtreecommitdiff
path: root/.venv/lib/python3.12/site-packages/lark/grammars/lark.lark
diff options
context:
space:
mode:
Diffstat (limited to '.venv/lib/python3.12/site-packages/lark/grammars/lark.lark')
-rw-r--r--.venv/lib/python3.12/site-packages/lark/grammars/lark.lark59
1 files changed, 59 insertions, 0 deletions
diff --git a/.venv/lib/python3.12/site-packages/lark/grammars/lark.lark b/.venv/lib/python3.12/site-packages/lark/grammars/lark.lark
new file mode 100644
index 00000000..68588469
--- /dev/null
+++ b/.venv/lib/python3.12/site-packages/lark/grammars/lark.lark
@@ -0,0 +1,59 @@
+start: (_item? _NL)* _item?
+
+_item: rule
+ | token
+ | statement
+
+rule: RULE rule_params priority? ":" expansions
+token: TOKEN token_params priority? ":" expansions
+
+rule_params: ["{" RULE ("," RULE)* "}"]
+token_params: ["{" TOKEN ("," TOKEN)* "}"]
+
+priority: "." NUMBER
+
+statement: "%ignore" expansions -> ignore
+ | "%import" import_path ["->" name] -> import
+ | "%import" import_path name_list -> multi_import
+ | "%override" rule -> override_rule
+ | "%declare" name+ -> declare
+
+!import_path: "."? name ("." name)*
+name_list: "(" name ("," name)* ")"
+
+?expansions: alias (_VBAR alias)*
+
+?alias: expansion ["->" RULE]
+
+?expansion: expr*
+
+?expr: atom [OP | "~" NUMBER [".." NUMBER]]
+
+?atom: "(" expansions ")"
+ | "[" expansions "]" -> maybe
+ | value
+
+?value: STRING ".." STRING -> literal_range
+ | name
+ | (REGEXP | STRING) -> literal
+ | name "{" value ("," value)* "}" -> template_usage
+
+name: RULE
+ | TOKEN
+
+_VBAR: _NL? "|"
+OP: /[+*]|[?](?![a-z])/
+RULE: /!?[_?]?[a-z][_a-z0-9]*/
+TOKEN: /_?[A-Z][_A-Z0-9]*/
+STRING: _STRING "i"?
+REGEXP: /\/(?!\/)(\\\/|\\\\|[^\/])*?\/[imslux]*/
+_NL: /(\r?\n)+\s*/
+
+%import common.ESCAPED_STRING -> _STRING
+%import common.SIGNED_INT -> NUMBER
+%import common.WS_INLINE
+
+COMMENT: /\s*/ "//" /[^\n]/*
+
+%ignore WS_INLINE
+%ignore COMMENT