diff --git a/grammar.coffee b/grammar.coffee index b6a7b11..5d6e355 100644 --- a/grammar.coffee +++ b/grammar.coffee @@ -45,7 +45,7 @@ module.exports = grammar typedef: -> seq( keyword("typedef"), @type, - @identifier, + @type_expression, ";") var_declaration: -> seq( diff --git a/grammar_test/declarations.txt b/grammar_test/declarations.txt index 605b6e1..a46864e 100644 --- a/grammar_test/declarations.txt +++ b/grammar_test/declarations.txt @@ -110,9 +110,17 @@ Typedefs typedef int my_int; +typedef struct{ + int x; +} *a; + --- -(typedef (identifier) (identifier)) +(program + (typedef (identifier) (identifier)) + (typedef (struct_type + (field (identifier) (identifier))) + (pointer_type (identifier)))) ============================================ Function declarations