chore: generate & update test

pull/594/head
Amaan Qureshi 2023-07-21 05:28:04 +07:00
parent 4c49fc3883
commit 349f3bb3f4
4 changed files with 59465 additions and 59118 deletions

98
src/grammar.json vendored

@ -1972,7 +1972,7 @@
"name": "type", "name": "type",
"content": { "content": {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_typedef_type_specifier" "name": "_type_specifier"
} }
}, },
{ {
@ -2487,6 +2487,36 @@
{ {
"type": "SYMBOL", "type": "SYMBOL",
"name": "_type_identifier" "name": "_type_identifier"
},
{
"type": "ALIAS",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "signed"
},
{
"type": "STRING",
"value": "unsigned"
},
{
"type": "STRING",
"value": "long"
},
{
"type": "STRING",
"value": "short"
}
]
},
"named": true,
"value": "primitive_type"
},
{
"type": "SYMBOL",
"name": "primitive_type"
} }
] ]
}, },
@ -3319,44 +3349,6 @@
} }
] ]
}, },
"_typedef_type_specifier": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "struct_specifier"
},
{
"type": "SYMBOL",
"name": "union_specifier"
},
{
"type": "SYMBOL",
"name": "enum_specifier"
},
{
"type": "SYMBOL",
"name": "macro_type_specifier"
},
{
"type": "ALIAS",
"content": {
"type": "SYMBOL",
"name": "_typedef_sized_type_specifier"
},
"named": true,
"value": "sized_type_specifier"
},
{
"type": "SYMBOL",
"name": "primitive_type"
},
{
"type": "SYMBOL",
"name": "_type_identifier"
}
]
},
"_type_specifier": { "_type_specifier": {
"type": "CHOICE", "type": "CHOICE",
"members": [ "members": [
@ -3390,30 +3382,6 @@
} }
] ]
}, },
"_typedef_sized_type_specifier": {
"type": "REPEAT1",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "signed"
},
{
"type": "STRING",
"value": "unsigned"
},
{
"type": "STRING",
"value": "long"
},
{
"type": "STRING",
"value": "short"
}
]
}
},
"sized_type_specifier": { "sized_type_specifier": {
"type": "SEQ", "type": "SEQ",
"members": [ "members": [
@ -7758,10 +7726,10 @@
"macro_type_specifier" "macro_type_specifier"
], ],
[ [
"_typedef_type_specifier", "sized_type_specifier"
"macro_type_specifier"
], ],
[ [
"_type_specifier",
"sized_type_specifier" "sized_type_specifier"
], ],
[ [

@ -269,6 +269,10 @@
"type": "pointer_declarator", "type": "pointer_declarator",
"named": true "named": true
}, },
{
"type": "primitive_type",
"named": true
},
{ {
"type": "type_identifier", "type": "type_identifier",
"named": true "named": true
@ -3424,31 +3428,7 @@
"required": true, "required": true,
"types": [ "types": [
{ {
"type": "enum_specifier", "type": "_type_specifier",
"named": true
},
{
"type": "macro_type_specifier",
"named": true
},
{
"type": "primitive_type",
"named": true
},
{
"type": "sized_type_specifier",
"named": true
},
{
"type": "struct_specifier",
"named": true
},
{
"type": "type_identifier",
"named": true
},
{
"type": "union_specifier",
"named": true "named": true
} }
] ]

118420
src/parser.c vendored

File diff suppressed because it is too large Load Diff

@ -306,8 +306,13 @@ typedef short short_t;
typedef unsigned unsigned_t; typedef unsigned unsigned_t;
typedef signed signed_t; typedef signed signed_t;
// FIXME: Still errors
typedef long long; typedef long long;
typedef short short;
typedef unsigned int uint;
typedef unsigned short ushort;
typedef unsigned unsigned short;
typedef signed signed short;
typedef signed signed unsigned;
-------------------------------------------------------------------------------- --------------------------------------------------------------------------------
@ -361,13 +366,19 @@ typedef long long;
declarator: (type_identifier))) declarator: (type_identifier)))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (type_identifier)) declarator: (primitive_type))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (type_identifier)) declarator: (primitive_type))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (type_identifier)) declarator: (primitive_type))
(type_definition
type: (sized_type_specifier)
declarator: (primitive_type))
(type_definition
type: (sized_type_specifier)
declarator: (primitive_type))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (type_identifier)) declarator: (type_identifier))
@ -388,14 +399,26 @@ typedef long long;
declarator: (type_identifier)) declarator: (type_identifier))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (primitive_type))
(type_definition
type: (sized_type_specifier)
declarator: (primitive_type))
(type_definition
type: (sized_type_specifier
type: (primitive_type))
declarator: (type_identifier)) declarator: (type_identifier))
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (type_identifier)) declarator: (type_identifier))
(comment)
(type_definition (type_definition
type: (sized_type_specifier) type: (sized_type_specifier)
declarator: (MISSING type_identifier))) declarator: (primitive_type))
(type_definition
type: (sized_type_specifier)
declarator: (primitive_type))
(type_definition
type: (sized_type_specifier)
declarator: (primitive_type)))
================================================================================ ================================================================================
Function declarations Function declarations