Generate parser

pull/844/head
Michael Davis 2023-08-28 00:08:58 +07:00
parent 01cba6b1a1
commit 0042037c31
3 changed files with 27243 additions and 25867 deletions

118
src/grammar.json generated

@ -51,6 +51,10 @@
{
"type": "SYMBOL",
"name": "type_alias"
},
{
"type": "SYMBOL",
"name": "attribute"
}
]
},
@ -147,6 +151,120 @@
}
]
},
"attribute": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "@"
},
{
"type": "FIELD",
"name": "name",
"content": {
"type": "SYMBOL",
"name": "identifier"
}
},
{
"type": "FIELD",
"name": "arguments",
"content": {
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_attribute_arguments"
},
"named": true,
"value": "arguments"
}
}
]
},
"_attribute_arguments": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": "("
},
{
"type": "SEQ",
"members": [
{
"type": "SYMBOL",
"name": "attribute_value"
},
{
"type": "REPEAT",
"content": {
"type": "SEQ",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "SYMBOL",
"name": "attribute_value"
}
]
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": ","
},
{
"type": "BLANK"
}
]
}
]
},
{
"type": "STRING",
"value": ")"
}
]
},
"attribute_value": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_constant_value"
},
{
"type": "SEQ",
"members": [
{
"type": "FIELD",
"name": "label",
"content": {
"type": "SYMBOL",
"name": "label"
}
},
{
"type": "STRING",
"value": ":"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "SYMBOL",
"name": "_constant_value"
}
}
]
}
]
},
"import": {
"type": "SEQ",
"members": [

146
src/node-types.json generated

@ -172,6 +172,10 @@
{
"type": "argument",
"named": true
},
{
"type": "attribute_value",
"named": true
}
]
}
@ -362,6 +366,132 @@
}
}
},
{
"type": "attribute",
"named": true,
"fields": {
"arguments": {
"multiple": false,
"required": true,
"types": [
{
"type": "arguments",
"named": true
}
]
},
"name": {
"multiple": false,
"required": true,
"types": [
{
"type": "identifier",
"named": true
}
]
}
}
},
{
"type": "attribute_value",
"named": true,
"fields": {
"label": {
"multiple": false,
"required": false,
"types": [
{
"type": "label",
"named": true
}
]
},
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "bit_string",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
}
]
}
},
"children": {
"multiple": false,
"required": false,
"types": [
{
"type": "bit_string",
"named": true
},
{
"type": "field_access",
"named": true
},
{
"type": "float",
"named": true
},
{
"type": "identifier",
"named": true
},
{
"type": "integer",
"named": true
},
{
"type": "list",
"named": true
},
{
"type": "record",
"named": true
},
{
"type": "string",
"named": true
},
{
"type": "tuple",
"named": true
}
]
}
},
{
"type": "binary_expression",
"named": true,
@ -3596,6 +3726,10 @@
"type": "assert",
"named": true
},
{
"type": "attribute",
"named": true
},
{
"type": "binary_expression",
"named": true
@ -3766,6 +3900,10 @@
"multiple": true,
"required": false,
"types": [
{
"type": "attribute",
"named": true
},
{
"type": "constant",
"named": true
@ -4854,6 +4992,10 @@
"type": ">>",
"named": false
},
{
"type": "@",
"named": false
},
{
"type": "[",
"named": false
@ -4916,11 +5058,11 @@
},
{
"type": "float",
"named": false
"named": true
},
{
"type": "float",
"named": true
"named": false
},
{
"type": "fn",

52846
src/parser.c generated

File diff suppressed because it is too large Load Diff