Ver a proveniência

Tweak fields

pull/26/head
Max Brunsfeld há 7 anos
ascendente
cometimento
0bc1adf0c2
5 ficheiros alterados com 1505 adições e 1468 eliminações
  1. +1
    -2
      corpus/declarations.txt
  2. +7
    -6
      grammar.js
  3. +73
    -69
      src/grammar.json
  4. +46
    -11
      src/node-types.json
  5. +1378
    -1380
      src/parser.c

+ 1
- 2
corpus/declarations.txt Ver ficheiro

@ -318,8 +318,7 @@ void * do_stuff(int arg1) {
type: (primitive_type)
declarator: (identifier)))))
body: (compound_statement
(return_statement
value: (number_literal)))))
(return_statement (number_literal)))))
============================================
Function specifiers after types

+ 7
- 6
grammar.js Ver ficheiro

@ -529,7 +529,7 @@ module.exports = grammar({
return_statement: $ => seq(
'return',
field('value', optional($._expression)),
optional($._expression),
';'
),
@ -618,7 +618,7 @@ module.exports = grammar({
)),
unary_expression: $ => prec.left(PREC.UNARY, seq(
choice('!', '~', '-', '+'),
field('operator', choice('!', '~', '-', '+')),
field('argument', $._expression)
)),
@ -655,10 +655,11 @@ module.exports = grammar({
update_expression: $ => {
const argument = field('argument', $._expression);
return choice(
prec.right(PREC.UNARY, seq(choice('--', '++'), argument)),
prec.right(PREC.UNARY, seq(argument, choice('++', '--')))
);
const operator = field('operator', choice('--', '++'));
return prec.right(PREC.UNARY, choice(
seq(operator, argument),
seq(argument, operator),
));
},
cast_expression: $ => prec(PREC.CAST, seq(

+ 73
- 69
src/grammar.json Ver ficheiro

@ -2970,20 +2970,16 @@
"value": "return"
},
{
"type": "FIELD",
"name": "value",
"content": {
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "BLANK"
}
]
}
"type": "CHOICE",
"members": [
{
"type": "SYMBOL",
"name": "_expression"
},
{
"type": "BLANK"
}
]
},
{
"type": "STRING",
@ -3342,25 +3338,29 @@
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "!"
},
{
"type": "STRING",
"value": "~"
},
{
"type": "STRING",
"value": "-"
},
{
"type": "STRING",
"value": "+"
}
]
}
},
{
"type": "FIELD",
@ -3973,26 +3973,30 @@
]
},
"update_expression": {
"type": "CHOICE",
"members": [
{
"type": "PREC_RIGHT",
"value": 13,
"content": {
"type": "PREC_RIGHT",
"value": 13,
class="s2">"content": {
"type": "CHOICE",
"members": [
{
"type": "SEQ",
"members": [
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "STRING",
"value": "++"
}
]
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "STRING",
"value": "++"
}
]
}
},
{
"type": "FIELD",
@ -4003,12 +4007,8 @@
}
}
]
}
},
{
"type": "PREC_RIGHT",
"value": 13,
"content": {
},
{
"type": "SEQ",
"members": [
{
@ -4020,22 +4020,26 @@
}
},
{
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "++"
},
{
"type": "STRING",
"value": "--"
}
]
"type": "FIELD",
"name": "operator",
"content": {
"type": "CHOICE",
"members": [
{
"type": "STRING",
"value": "--"
},
{
"type": "STRING",
"value": "++"
}
]
}
}
]
}
}
]
]
}
},
"cast_expression": {
"type": "PREC",

+ 46
- 11
src/node-types.json Ver ficheiro

@ -2062,17 +2062,16 @@
{
"type": "return_statement",
"named": true,
"fields": {
"value": {
"multiple": false,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
"fields": {},
"children": {
"multiple": true,
"required": false,
"types": [
{
"type": "_expression",
"named": true
}
]
}
},
{
@ -2383,6 +2382,28 @@
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "!",
"named": false
},
{
"type": "+",
"named": false
},
{
"type": "-",
"named": false
},
{
"type": "~",
"named": false
}
]
}
}
},
@ -2425,6 +2446,20 @@
"named": true
}
]
},
"operator": {
"multiple": false,
"required": true,
"types": [
{
"type": "++",
"named": false
},
{
"type": "--",
"named": false
}
]
}
}
},

+ 1378
- 1380
src/parser.c
A apresentação das diferenças no ficheiro foi suprimida por ser demasiado grande
Ver ficheiro


Carregando…
Cancelar
Guardar