Bladeren bron

Add all storage classes

pull/1/head
Max Brunsfeld 11 jaren geleden
bovenliggende
commit
ae3a41b13f
3 gewijzigde bestanden met toevoegingen van 12000 en 11650 verwijderingen
  1. +4
    -2
      grammar.coffee
  2. +21
    -1
      grammar_test/declarations.txt
  3. +11975
    -11647
      src/parser.c

+ 4
- 2
grammar.coffee Bestand weergeven

@ -174,9 +174,11 @@ module.exports =
enum_value: -> seq(
@identifier, optional(seq("=", @expression)))
storage_class: -> repeat(choice(
storage_class: -> choice(
keyword("extern"),
keyword("static"),
keyword("extern"))),
keyword("auto"),
keyword("register"))
field: -> seq(@type, @type_expression)

+ 21
- 1
grammar_test/declarations.txt Bestand weergeven

@ -69,12 +69,32 @@ float d, e;
(program
(var_declaration (primitive_type (identifier)) (identifier))
(var_declaration (primitive_type (identifier))
(var_declaration
(primitive_type (identifier))
(identifier)
(var_assignment (identifier) (number))
(identifier))
(var_declaration (identifier) (identifier) (identifier)))
============================================
Variable storage classes
============================================
int a;
extern int b, c;
auto int d;
register int e;
static int f;
---
(program
(var_declaration (identifier) (identifier))
(var_declaration (storage_class) (identifier) (identifier) (identifier))
(var_declaration (storage_class) (identifier) (identifier))
(var_declaration (storage_class) (identifier) (identifier))
(var_declaration (storage_class) (identifier) (identifier)))
============================================
Composite-typed variable declarations
============================================

+ 11975
- 11647
src/parser.c
Diff onderdrukt omdat het te groot bestand
Bestand weergeven


Laden…
Annuleren
Opslaan