Explorar el Código

Fix precedences of * (deref) and & (address-of) (#21)

pull/25/head
calixteman hace 7 años
cometido por Max Brunsfeld
padre
commit
2945de0173
Se han modificado 4 ficheros con 859 adiciones y 862 borrados
  1. +2
    -0
      corpus/expressions.txt
  2. +2
    -3
      grammar.js
  3. +2
    -6
      src/grammar.json
  4. +853
    -853
      src/parser.c

+ 2
- 0
corpus/expressions.txt Ver fichero

@ -267,6 +267,7 @@ int main() {
m -= o;
n *= p;
q /= r;
*s++ = 1;
(*t) = 1;
}
@ -286,6 +287,7 @@ int main() {
(expression_statement (assignment_expression (identifier) (identifier)))
(expression_statement (assignment_expression (identifier) (identifier)))
(expression_statement (assignment_expression (identifier) (identifier)))
(expression_statement (assignment_expression (pointer_expression (math_expression (identifier))) (number_literal)))
(expression_statement (assignment_expression (parenthesized_expression (pointer_expression (identifier))) (number_literal))))))
============================================

+ 2
- 3
grammar.js Ver fichero

@ -260,7 +260,6 @@ module.exports = grammar({
type_qualifier: $ => choice(
'const',
'restrict',
'volatile',
'restrict',
'_Atomic'
@ -567,8 +566,8 @@ module.exports = grammar({
)),
pointer_expression: $ => choice(
prec.left(PREC.UNARY, seq('*', $._expression)),
prec.left(PREC.UNARY, seq('&', $._expression))
prec.left(PREC.CAST, seq('*', $._expression)),
prec.left(PREC.CAST, seq('&', $._expression))
),
logical_expression: $ => choice(

+ 2
- 6
src/grammar.json Ver fichero

@ -1609,10 +1609,6 @@
"type": "STRING",
"value": "const"
},
{
"type": "STRING",
"value": "restrict"
},
{
"type": "STRING",
"value": "volatile"
@ -2949,7 +2945,7 @@
"members": [
{
"type": "PREC_LEFT",
"value": 13,
"value": 12,
"content": {
"type": "SEQ",
"members": [
@ -2966,7 +2962,7 @@
},
{
"type": "PREC_LEFT",
"value": 13,
"value": 12,
"content": {
"type": "SEQ",
"members": [

+ 853
- 853
src/parser.c
La diferencia del archivo ha sido suprimido porque es demasiado grande
Ver fichero


Cargando…
Cancelar
Guardar