소스 검색

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

pull/25/head
calixteman 7 년 전
committed by Max Brunsfeld
부모
커밋
2945de0173
4개의 변경된 파일859개의 추가작업 그리고 862개의 파일을 삭제
  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 파일 보기

@ -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 파일 보기

@ -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 파일 보기

@ -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
파일 크기가 너무 크기때문에 변경 상태를 표시하지 않습니다.
파일 보기


불러오는 중...
취소
저장