From 9b7bda28db0200b628e5f6eb7021a5a717db2e73 Mon Sep 17 00:00:00 2001 From: Ruben Beltran del Rio Date: Sun, 14 Dec 2025 19:59:18 +0100 Subject: Initial grammar --- src/node-types.json | 375 ++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 375 insertions(+) create mode 100644 src/node-types.json (limited to 'src/node-types.json') diff --git a/src/node-types.json b/src/node-types.json new file mode 100644 index 0000000..c328029 --- /dev/null +++ b/src/node-types.json @@ -0,0 +1,375 @@ +[ + { + "type": "component", + "named": true, + "fields": { + "label": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + }, + "position": { + "multiple": false, + "required": true, + "types": [ + { + "type": "position", + "named": true + } + ] + }, + "shape": { + "multiple": false, + "required": false, + "types": [ + { + "type": "shape", + "named": true + } + ] + } + } + }, + { + "type": "dependency", + "named": true, + "fields": { + "from": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + }, + "to": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + }, + "type": { + "multiple": false, + "required": true, + "types": [ + { + "type": "dependency_type", + "named": true + } + ] + } + } + }, + { + "type": "dependency_type", + "named": true, + "fields": {} + }, + { + "type": "entity", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component", + "named": true + }, + { + "type": "dependency", + "named": true + }, + { + "type": "evolution", + "named": true + }, + { + "type": "group", + "named": true + }, + { + "type": "inertia", + "named": true + }, + { + "type": "note", + "named": true + }, + { + "type": "stage", + "named": true + } + ] + } + }, + { + "type": "evolution", + "named": true, + "fields": { + "component": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + }, + "sign": { + "multiple": false, + "required": true, + "types": [ + { + "type": "sign", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "real_number", + "named": true + } + ] + } + } + }, + { + "type": "group", + "named": true, + "fields": { + "component": { + "multiple": true, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + } + } + }, + { + "type": "inertia", + "named": true, + "fields": { + "component": { + "multiple": false, + "required": true, + "types": [ + { + "type": "component_label", + "named": true + } + ] + } + } + }, + { + "type": "note", + "named": true, + "fields": { + "position": { + "multiple": false, + "required": true, + "types": [ + { + "type": "position", + "named": true + } + ] + }, + "text": { + "multiple": false, + "required": true, + "types": [ + { + "type": "text", + "named": true + } + ] + } + } + }, + { + "type": "position", + "named": true, + "fields": { + "x": { + "multiple": false, + "required": true, + "types": [ + { + "type": "real_number", + "named": true + } + ] + }, + "y": { + "multiple": false, + "required": true, + "types": [ + { + "type": "real_number", + "named": true + } + ] + } + } + }, + { + "type": "real_number", + "named": true, + "fields": {} + }, + { + "type": "shape", + "named": true, + "fields": {}, + "children": { + "multiple": false, + "required": true, + "types": [ + { + "type": "shape_label", + "named": true + } + ] + } + }, + { + "type": "shape_label", + "named": true, + "fields": {} + }, + { + "type": "sign", + "named": true, + "fields": {} + }, + { + "type": "source_file", + "named": true, + "root": true, + "fields": {}, + "children": { + "multiple": true, + "required": false, + "types": [ + { + "type": "entity", + "named": true + } + ] + } + }, + { + "type": "stage", + "named": true, + "fields": { + "number": { + "multiple": false, + "required": true, + "types": [ + { + "type": "stage_number", + "named": true + } + ] + }, + "value": { + "multiple": false, + "required": true, + "types": [ + { + "type": "real_number", + "named": true + } + ] + } + } + }, + { + "type": "stage_number", + "named": true, + "fields": {} + }, + { + "type": "\n", + "named": false + }, + { + "type": "\r", + "named": false + }, + { + "type": "\r\n", + "named": false + }, + { + "type": "(", + "named": false + }, + { + "type": ")", + "named": false + }, + { + "type": "+", + "named": false + }, + { + "type": ",", + "named": false + }, + { + "type": "-", + "named": false + }, + { + "type": "--", + "named": false + }, + { + "type": "->", + "named": false + }, + { + "type": "[", + "named": false + }, + { + "type": "]", + "named": false + }, + { + "type": "component_label", + "named": true + }, + { + "type": "keyword", + "named": false + }, + { + "type": "text", + "named": true + } +] \ No newline at end of file -- cgit