{
"name": "luap",
"rules": {
"pattern": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "anchor_begin"
},
{
"type": "BLANK"
}
]
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "$"
}
},
"named": true,
"value": "character"
},
{
"type": "SYMBOL",
"name": "character"
},
{
"type": "SYMBOL",
"name": "class_pattern"
},
{
"type": "SYMBOL",
"name": "set"
},
{
"type": "SYMBOL",
"name": "negated_set"
},
{
"type": "SYMBOL",
"name": "capture"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "anchor_end"
},
{
"type": "BLANK"
}
]
}
]
},
"anchor_begin": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "^"
}
},
"anchor_end": {
"type": "PREC",
"value": 1,
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "$"
}
}
},
"_raw_character": {
"type": "CHOICE",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[^%\\(\\[\\.\\n]"
}
},
{
"type": "STRING",
"value": "."
}
]
},
"character": {
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "_raw_character"
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "BLANK"
}
]
}
]
},
"escape_char": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "\\W"
}
},
"capture_index": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "[1-9]"
}
},
"balanced_match": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "b"
}
},
{
"type": "FIELD",
"name": "first",
"content": {
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "."
}
},
"named": true,
"value": "character"
}
},
{
"type": "FIELD",
"name": "last",
"content": {
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "PATTERN",
"value": "."
}
},
"named": true,
"value": "character"
}
}
]
},
"frontier_pattern": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "%f"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "set"
},
{
"type": "SYMBOL",
"name": "negated_set"
}
]
}
]
},
"zero_or_more": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "*"
}
},
"shortest_zero_or_more": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "-"
}
},
"one_or_more": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "+"
}
},
"zero_or_one": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "?"
}
},
"quantifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "zero_or_more"
},
{
"type": "SYMBOL",
"name": "shortest_zero_or_more"
},
{
"type": "SYMBOL",
"name": "one_or_more"
},
{
"type": "SYMBOL",
"name": "zero_or_one"
}
]
},
"class": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "%"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "PATTERN",
"value": "[acdglpsuwxACDGLPSUWX]"
},
{
"type": "SYMBOL",
"name": "capture_index"
},
{
"type": "SYMBOL",
"name": "balanced_match"
},
{
"type": "SYMBOL",
"name": "escape_char"
}
]
}
]
},
"class_pattern": {
"type": "PREC_RIGHT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "class"
},
{
"type": "SYMBOL",
"name": "frontier_pattern"
}
]
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "BLANK"
}
]
}
]
}
},
"range": {
"type": "PREC_DYNAMIC",
"value": 1,
"content": {
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "from",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_raw_character"
},
"named": true,
"value": "character"
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "-"
}
},
{
"type": "FIELD",
"name": "to",
"content": {
"type": "ALIAS",
"content": {
"type": "PATTERN",
"value": "[^\\]]"
},
"named": true,
"value": "character"
}
}
]
}
},
"set": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "["
}
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_raw_character"
},
"named": true,
"value": "character"
},
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "-"
}
},
"named": true,
"value": "character"
},
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
"named": true,
"value": "character"
},
{
"type": "SYMBOL",
"name": "range"
},
{
"type": "SYMBOL",
"name": "class"
}
]
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "]"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "BLANK"
}
]
}
]
}
},
"negated_set": {
"type": "PREC_LEFT",
"value": 0,
"content": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "["
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "^"
}
},
{
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_raw_character"
},
"named": true,
"value": "character"
},
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "-"
}
},
"named": true,
"value": "character"
},
{
"type": "ALIAS",
"content": {
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
"named": true,
"value": "character"
},
{
"type": "SYMBOL",
"name": "range"
},
{
"type": "SYMBOL",
"name": "class"
}
]
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "]"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "BLANK"
}
]
}
]
}
},
"capture": {
"type": "SEQ",
"members": [
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": "("
}
},
{
"type": "REPEAT",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "set"
},
{
"type": "SYMBOL",
"name": "negated_set"
},
{
"type": "SYMBOL",
"name": "class_pattern"
},
{
"type": "SYMBOL",
"name": "character"
},
{
"type": "SYMBOL",
"name": "capture"
}
]
}
},
{
"type": "IMMEDIATE_TOKEN",
"content": {
"type": "STRING",
"value": ")"
}
},
{
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "quantifier"
},
{
"type": "BLANK"
}
]
}
]
}
},
"extras": [
{
"type": "PATTERN",
"value": "\\s"
}
],
"conflicts": [
[
"set",
"range"
],
[
"negated_set",
"range"
]
],
"precedences": [],
"externals": [],
"inline": [
"quantifier"
],
"supertypes": []
}