Skip to content

Commit

Permalink
Support GCC C language.
Browse files Browse the repository at this point in the history
Fix #85
  • Loading branch information
chengniansun committed Aug 5, 2020
1 parent aaa9448 commit 7b8ae56
Show file tree
Hide file tree
Showing 10 changed files with 154 additions and 112 deletions.
2 changes: 1 addition & 1 deletion benchmark/toys/delta_1/golden_reduction_progress.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ translationUnit {id=1}
| | |___Token:) {id=346,slot_type=RightParen}
| |___Token:; {id=336,slot_type=Semi}
|___functionDefinition {id=5,slot_type=translationUnit_2}
|___(?) {id=6,slot_type=optional__functionDefinition_1}
|___(?) {id=6,slot_type=optional__functionDefinition_2}
| |___(+) {id=329,slot_type=declarationSpecifiers}
| |___Token:int {id=332,slot_type=declarationSpecifier}
|___directDeclarator {id=282,slot_type=declarator}
Expand Down
2 changes: 1 addition & 1 deletion benchmark/toys/parentheses/golden_reduction_progress.txt
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ translationUnit {id=1}
| | |___Token:) {id=332,slot_type=RightParen}
| |___Token:; {id=322,slot_type=Semi}
|___functionDefinition {id=5,slot_type=translationUnit_2}
|___(?) {id=6,slot_type=optional__functionDefinition_1}
|___(?) {id=6,slot_type=optional__functionDefinition_2}
| |___(+) {id=315,slot_type=declarationSpecifiers}
| |___Token:int {id=318,slot_type=declarationSpecifier}
|___directDeclarator {id=268,slot_type=declarator}
Expand Down
3 changes: 2 additions & 1 deletion src/org/perses/grammar/c/OrigC.g4
Original file line number Diff line number Diff line change
Expand Up @@ -312,6 +312,7 @@ functionSpecifier
: ('inline'
| '_Noreturn'
| '__inline__' // GCC extension
// | '__inline' // GCC extension
| '__stdcall')
| gccAttributeSpecifier
| '__declspec' '(' Identifier ')'
Expand Down Expand Up @@ -536,7 +537,7 @@ externalDeclaration
;

functionDefinition
: declarationSpecifiers? declarator declarationList? compoundStatement
: Extension_gcc? declarationSpecifiers? declarator declarationList? compoundStatement
;

declarationList
Expand Down
4 changes: 2 additions & 2 deletions test/org/perses/antlr/golden_pnfc_rule_hierarchy.txt
Original file line number Diff line number Diff line change
Expand Up @@ -1227,7 +1227,7 @@ optional__enumerator_2
enumerator_1
transitive sub-rule names:
enumerator_1
optional__functionDefinition_1
optional__functionDefinition_2
epsilonable: true
immediate sub-rule names:
declarationSpecifiers
Expand All @@ -1247,7 +1247,7 @@ optional__functionDefinition_1
typeQualifier
typeSpecifier
typedefName
optional__functionDefinition_2
optional__functionDefinition_3
epsilonable: true
immediate sub-rule names:
declarationList
Expand Down
Loading

0 comments on commit 7b8ae56

Please sign in to comment.