102 lines
2.1 KiB
JSON
102 lines
2.1 KiB
JSON
{
|
|
"version": "2",
|
|
"lexer_rules": [
|
|
{
|
|
"pattern": " |\\t|\\n",
|
|
"pass": false,
|
|
"name": null
|
|
},
|
|
{
|
|
"pattern": "[0-9]+",
|
|
"pass": true,
|
|
"name": "[const]"
|
|
},
|
|
{
|
|
"pattern": "\\+",
|
|
"pass": false,
|
|
"name": "[plus]"
|
|
},
|
|
{
|
|
"pattern": "-",
|
|
"pass": false,
|
|
"name": "[minus]"
|
|
},
|
|
{
|
|
"pattern": "\\*",
|
|
"pass": false,
|
|
"name": "[times]"
|
|
},
|
|
{
|
|
"pattern": "/",
|
|
"pass": false,
|
|
"name": "[divided]"
|
|
},
|
|
{
|
|
"pattern": "\\(",
|
|
"pass": false,
|
|
"name": "[open]"
|
|
},
|
|
{
|
|
"pattern": "\\)|",
|
|
"pass": false,
|
|
"name": "[close]"
|
|
}
|
|
],
|
|
"parser_rules": [
|
|
{
|
|
"label": "{constant}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "terminal", "parameters": {"id": "[const]"}}
|
|
]
|
|
},
|
|
{
|
|
"label": "{product}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "variable", "parameters": {"id": "<expression>"}},
|
|
{"type": "terminal", "parameters": {"id": "[times]"}},
|
|
{"type": "variable", "parameters": {"id": "<expression>"}}
|
|
]
|
|
},
|
|
{
|
|
"label": "{quotient}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "variable", "parameters": {"id": "<expression>"}},
|
|
{"type": "terminal", "parameters": {"id": "[divided]"}},
|
|
{"type": "variable", "parameters": {"id": "<expression>"}}
|
|
]
|
|
},
|
|
{
|
|
"label": "{sum}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "variable", "parameters": {"id": "<expression>"}},
|
|
{"type": "terminal", "parameters": {"id": "[plus]"}},
|
|
{"type": "variable", "parameters": {"id": "<expression>"}}
|
|
]
|
|
},
|
|
{
|
|
"label": "{difference}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "variable", "parameters": {"id": "<expression>"}},
|
|
{"type": "terminal", "parameters": {"id": "[minus]"}},
|
|
{"type": "variable", "parameters": {"id": "<expression>"}}
|
|
]
|
|
},
|
|
{
|
|
"label": "{priorised}",
|
|
"premise": "<expression>",
|
|
"conclusion": [
|
|
{"type": "terminal", "parameters": {"id": "[open]"}},
|
|
{"type": "variable", "parameters": {"id": "<expression>"}},
|
|
{"type": "terminal", "parameters": {"id": "[close]"}}
|
|
]
|
|
}
|
|
],
|
|
"parser_start": "<expression>"
|
|
}
|
|
|