2022-06-01 16:23:43 +02:00
|
|
|
{
|
|
|
|
"name": "tiger",
|
|
|
|
"rules": {
|
|
|
|
"source_file": {
|
2022-06-01 19:33:42 +02:00
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "_expr"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"_expr": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "nil"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "integer_literal"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "string_literal"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"integer_literal": {
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[0-9]+"
|
|
|
|
},
|
|
|
|
"string_literal": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\""
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "REPEAT",
|
|
|
|
"content": {
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "SYMBOL",
|
|
|
|
"name": "escape_sequence"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[^\"\\\\]+"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
"escape_sequence": {
|
|
|
|
"type": "IMMEDIATE_TOKEN",
|
|
|
|
"content": {
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\\"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "a"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "b"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "f"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "n"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "r"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "t"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "v"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[0-3][0-7]{2}"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "SEQ",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "x"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "[0-9a-fA-F]{2}"
|
|
|
|
}
|
|
|
|
]
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "CHOICE",
|
|
|
|
"members": [
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\\"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"type": "STRING",
|
|
|
|
"value": "\""
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
|
|
|
]
|
|
|
|
}
|
2022-06-01 16:23:43 +02:00
|
|
|
}
|
|
|
|
},
|
|
|
|
"extras": [
|
|
|
|
{
|
|
|
|
"type": "PATTERN",
|
|
|
|
"value": "\\s"
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"conflicts": [],
|
|
|
|
"precedences": [],
|
|
|
|
"externals": [],
|
|
|
|
"inline": [],
|
|
|
|
"supertypes": []
|
|
|
|
}
|
|
|
|
|