UNPKG

tree-sitter-biber

Version:
758 lines (756 loc) 17.1 kB
{ "name": "biber", "rules": { "program": { "type": "REPEAT", "content": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "_command_or_entry" }, { "type": "SYMBOL", "name": "comment" }, { "type": "SYMBOL", "name": "junk" } ] } }, "comment": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "%" }, { "type": "PATTERN", "value": ".*" } ] } }, "junk": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[^%@\\s\\n\\t\\r]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[^%@\\n]+\\n" } }, { "type": "CHOICE", "members": [ { "type": "PATTERN", "value": "[^%@\\n]+" }, { "type": "BLANK" } ] } ] }, "_command_or_entry": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "comment_command" }, { "type": "SYMBOL", "name": "preamble_command" }, { "type": "SYMBOL", "name": "string_command" }, { "type": "SYMBOL", "name": "entry" } ] }, "comment_command": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[cC][oO][mM][mM][eE][nN][tT]" }, "named": true, "value": "name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "text_brace_balanced" }, "named": true, "value": "comment" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "text_paren_balanced" }, "named": true, "value": "comment" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] } ] }, "string_command": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[sS][tT][rR][iI][nN][gG]" }, "named": true, "value": "name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "value" } ] }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] } ] }, "preamble_command": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "ALIAS", "content": { "type": "PATTERN", "value": "[pP][rR][eE][aA][mM][bB][lL][eE]" }, "named": true, "value": "name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "value" }, { "type": "STRING", "value": "}" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "value" }, { "type": "STRING", "value": ")" } ] } ] } ] }, "entry": { "type": "SEQ", "members": [ { "type": "STRING", "value": "@" }, { "type": "SYMBOL", "name": "name" }, { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "SYMBOL", "name": "key" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "field" } ] } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "SYMBOL", "name": "key" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "," }, { "type": "SYMBOL", "name": "field" } ] } }, { "type": "CHOICE", "members": [ { "type": "STRING", "value": "," }, { "type": "BLANK" } ] }, { "type": "STRING", "value": ")" } ] } ] } ] }, "key": { "type": "PATTERN", "value": "[^\\\"\\#%'\\(\\),=\\{\\}\\\\\\~\\s\\t\\n]+" }, "name": { "type": "PATTERN", "value": "[^\\\"\\#%'\\(\\),=\\{\\}\\\\\\~\\s\\t\\n]+" }, "field": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "identifier" }, { "type": "STRING", "value": "=" }, { "type": "SYMBOL", "name": "value" } ] }, "identifier": { "type": "TOKEN", "content": { "type": "SEQ", "members": [ { "type": "PATTERN", "value": "[^0-9\\\"\\#%'\\(\\),=\\{\\}\\\\\\~\\s\\t\\n]" }, { "type": "REPEAT", "content": { "type": "PATTERN", "value": "[^\\\"\\#%'\\(\\),=\\{\\}\\\\\\~\\s\\t\\n]" } } ] } }, "value": { "type": "SEQ", "members": [ { "type": "SYMBOL", "name": "_token" }, { "type": "REPEAT", "content": { "type": "SEQ", "members": [ { "type": "STRING", "value": "#" }, { "type": "SYMBOL", "name": "_token" } ] } } ] }, "_token": { "type": "CHOICE", "members": [ { "type": "SYMBOL", "name": "string" }, { "type": "SYMBOL", "name": "integer" }, { "type": "SYMBOL", "name": "identifier" } ] }, "integer": { "type": "PATTERN", "value": "[0-9]+" }, "string": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "text_brace_balanced" }, "named": true, "value": "text" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "}" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "\"" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "text_quote_balanced" }, "named": true, "value": "text" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "\"" } ] }, { "type": "SEQ", "members": [ { "type": "STRING", "value": "'" }, { "type": "CHOICE", "members": [ { "type": "ALIAS", "content": { "type": "SYMBOL", "name": "text_quote_balanced" }, "named": true, "value": "text" }, { "type": "BLANK" } ] }, { "type": "STRING", "value": "'" } ] } ] }, "text_brace_balanced": { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_brace_balanced" } }, "text_quote_balanced": { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_quote_balanced" } }, "text_paren_balanced": { "type": "REPEAT1", "content": { "type": "SYMBOL", "name": "_paren_balanced" } }, "_brace_balanced": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_brace_balanced" } }, { "type": "STRING", "value": "}" } ] }, { "type": "SYMBOL", "name": "_brace_text" } ] }, "_quote_balanced": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "{" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_brace_balanced" } }, { "type": "STRING", "value": "}" } ] }, { "type": "SYMBOL", "name": "_quote_text" } ] }, "_paren_balanced": { "type": "CHOICE", "members": [ { "type": "SEQ", "members": [ { "type": "STRING", "value": "(" }, { "type": "REPEAT", "content": { "type": "SYMBOL", "name": "_paren_balanced" } }, { "type": "STRING", "value": ")" } ] }, { "type": "SYMBOL", "name": "_paren_text" } ] }, "_brace_text": { "type": "PATTERN", "value": "[^\\{\\}]+" }, "_quote_text": { "type": "PATTERN", "value": "[^\\\"\\{\\}]+" }, "_paren_text": { "type": "PATTERN", "value": "[^\\(\\)]+" } }, "extras": [ { "type": "PATTERN", "value": "[\\s\\n\\t\\r]" }, { "type": "SYMBOL", "name": "comment" } ], "conflicts": [], "externals": [], "inline": [], "supertypes": [] }