{ "version": "1", "lexer_rules": [ { "type": "ignore", "parameters": { "pattern": " |\\t|\\n" } }, { "type": "string", "parameters": { "pattern": "false|0", "id": "const_false" } }, { "type": "string", "parameters": { "pattern": "true|1", "id": "const_true" } }, { "type": "void", "parameters": { "pattern": "¬|-|\\!|not", "id": "not" } }, { "type": "void", "parameters": { "pattern": "∧|&|and", "id": "and" } }, { "type": "void", "parameters": { "pattern": "∨|\\||or", "id": "or" } }, { "type": "void", "parameters": { "pattern": "\\(|\\[", "id": "open" } }, { "type": "void", "parameters": { "pattern": "\\)|\\]", "id": "close" } } ], "parser_rules": [ { "label": "constant_false", "premise": "formula", "conclusion": [ {"type": "terminal", "parameters": {"id": "const_false"}} ] }, { "label": "constant_true", "premise": "formula", "conclusion": [ {"type": "terminal", "parameters": {"id": "const_true"}} ] }, { "label": "negation", "premise": "formula", "conclusion": [ {"type": "terminal", "parameters": {"id": "not"}}, {"type": "variable", "parameters": {"id": "formula"}} ] }, { "label": "conjunction", "premise": "formula", "conclusion": [ {"type": "variable", "parameters": {"id": "formula"}}, {"type": "terminal", "parameters": {"id": "and"}}, {"type": "variable", "parameters": {"id": "formula"}} ] }, { "label": "disjunction", "premise": "formula", "conclusion": [ {"type": "variable", "parameters": {"id": "formula"}}, {"type": "terminal", "parameters": {"id": "or"}}, {"type": "variable", "parameters": {"id": "formula"}} ] }, { "label": "priorised", "premise": "formula", "conclusion": [ {"type": "terminal", "parameters": {"id": "open"}}, {"type": "variable", "parameters": {"id": "formula"}}, {"type": "terminal", "parameters": {"id": "close"}} ] } ], "parser_start": "formula" }