Max Brunsfeld
f433b2bf8a
Tweak identifier naming convention
9 лет назад
Max Brunsfeld
809cd89afe
Use new alias API
9 лет назад
Max Brunsfeld
6147b5ecca
Rename label_name -> label, extract rules for identifier renames
9 лет назад
Max Brunsfeld
b8509fdf21
Function calls have higher precedence than unary operators
9 лет назад
Max Brunsfeld
7775b575e6
Differentiate between top-level items and those that appear in statement blocks
9 лет назад
Max Brunsfeld
66003e2afc
Rename type_clause -> type_descriptor and pull out the parens
9 лет назад
Max Brunsfeld
9e7706d922
Distinguish variables, types, fields and labels using renames
9 лет назад
Max Brunsfeld
debe919f84
Allow whitespace after the # in preprocessor directives
9 лет назад
Max Brunsfeld
d9c324ffce
Don't try to parse #if conditions as C expressions
Doing this required treating the newline that follows these conditions as significant
in order to avoid conflicts, but this caused problems for error recovery.
9 лет назад
Max Brunsfeld
eb82660b87
Generalize the ordering of type and declaration specifiers
9 лет назад
Max Brunsfeld
3f65e85781
Reuse declaration_specifiers rule in more places
9 лет назад
Max Brunsfeld
ab0162ce37
Make member_declaration_list its own rule
9 лет назад
Max Brunsfeld
42436c29ae
Allow simple abstract function declarators as in `sizeof(void * ())`
9 лет назад
Max Brunsfeld
34245e5ba8
Export precedences (so C++ grammar can use them)
9 лет назад
Max Brunsfeld
39a662907b
Make a named node for argument lists in call expressions
9 лет назад
Max Brunsfeld
281e0cd60d
Add 'u' and 'l' suffixes on number literals
9 лет назад
Max Brunsfeld
eaa878ce95
Allow preprocessor conditionals inside functions
9 лет назад
Max Brunsfeld
e64b56050e
Add preprocessor if blocks
9 лет назад
Max Brunsfeld
8e8a968e3b
Fix handling of backslashes in string literals
9 лет назад
Max Brunsfeld
9b715a2620
Add concatenated strings
9 лет назад
Max Brunsfeld
fb51d81c99
Add comma expressions, make parenthesized expressions named rules
9 лет назад
Max Brunsfeld
c2a7bd2d9c
Allow any type name in a macro-defined type
9 лет назад
Max Brunsfeld
eed36b3f88
Allow object-like defines whose values start with parentheses
9 лет назад
Max Brunsfeld
be2676ed3e
Allow empty initializer lists
9 лет назад
Max Brunsfeld
f3ea61c8fe
Add C++ linkage specifiers, since they appear in .h files
9 лет назад
Max Brunsfeld
367cd73ee2
Allow unsigned, short, etc to be their own types
9 лет назад
Max Brunsfeld
46e5a1af6a
Add associativity to pointer declarators
9 лет назад
Max Brunsfeld
7930ba3917
Only allow identifiers after the '.' in a field expression
10 лет назад
Max Brunsfeld
e270a9c486
Remove error rules
10 лет назад
Max Brunsfeld
f9a1ffa413
Add function-like macros as type specifiers
10 лет назад
Max Brunsfeld
c57b5a58f2
Fix malformed test that wasn't being run
10 лет назад
Max Brunsfeld
603224433a
Use new javascript grammar API
10 лет назад