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
9 年之前
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 年之前