calixteman
ff4fc1c785
Handle L-strings and L-chars ( #25 )
7 år sedan
calixteman
2945de0173
Fix precedences of * (deref) and & (address-of) ( #21 )
7 år sedan
calixteman
adf868ce9a
Fix parenthesized expression on left side of assignment ( #22 )
7 år sedan
calixteman
fb9fbd83f0
Handle __attribute__ in function declaration ( #19 )
* Handle __attribute__ in function declaration
* Fix tests in examples/
* Remove useless optional
7 år sedan
Calixte Denizet
338f99e8a0
Fix comment containing backslash
7 år sedan
Max Brunsfeld
fd42e75886
Flesh out number literal parsing
Fixes atom/language-c#323
7 år sedan
Max Brunsfeld
175d93b439
Handle postfix type qualifiers in compound literals
Fixes atom/language-c#312
7 år sedan
Max Brunsfeld
95b5710ff9
Allow number literals with 'f' suffix and digit separators
Fixes tree-sitter/tree-sitter-cpp#24
Fixes tree-sitter/tree-sitter-cpp#34
7 år sedan
Max Brunsfeld
5a25ac2983
Allow multiple names to be defined in a typedef statement
Fixes tree-sitter/tree-sitter-cpp#30
7 år sedan
Max Brunsfeld
50c3a02bc7
Allow preprocessor directives in field decl lists
Fixes tree-sitter/tree-sitter-cpp#29
7 år sedan
Max Brunsfeld
1358e07759
Allow escaped newlines in single-line comments
Fixes tree-sitter/tree-sitter-cpp#26
7 år sedan
Max Brunsfeld
7f827b42a8
Add explicit nodes for bitfield clauses
7 år sedan
Max Brunsfeld
176fd5f077
Add signed keyword
Fixes #10
7 år sedan
Max Brunsfeld
2af332790e
Make case statements contain all subsequent statements until the next case
7 år sedan
Max Brunsfeld
6cbb20b681
Allow any sort of statement at the top level, not just calls
This way, we can parse snippets of C, like expressions, in the
case where C code is injected into a larger document.
7 år sedan
Max Brunsfeld
ed56d5e288
Fix array declarator parsing
Refs https://github.com/atom/atom/issues/18346#issuecomment-433734281
7 år sedan
Max Brunsfeld
6744ae08ea
Parse top-level macro invocations
Fixes atom/atom#18346
7 år sedan
Max Brunsfeld
5b5300388e
Add low dynamic precedence on macro_type_specifier
7 år sedan
Max Brunsfeld
07cafeac95
Use dynamic precedence to distinguish pointer declarators from multiplication
8 år sedan
Max Brunsfeld
067d3f9681
Use parenthesized_expression in if, while, do statements
8 år sedan
Max Brunsfeld
df769721cb
Parse escape sequences
8 år sedan
Max Brunsfeld
f8cab65c3a
Allow type qualifier lists in pointer declarators
Fixes tree-sitter/tree-sitter-cpp#7
8 år sedan
Max Brunsfeld
9e21e17371
Allow preprocessor conditionals inside of field declaration lists
Co-Authored-By: Thomas Johansen <thomasjo@gmail.com>
8 år sedan
Max Brunsfeld
95b1b4315e
Add _Atomic and restrict type qualifiers
8 år sedan
Max Brunsfeld
e8b6879820
Use repeat in initializer lists
8 år sedan
Max Brunsfeld
0c38b9f8c9
Handle identifier starting with 'false', 'true', etc
8 år sedan
Max Brunsfeld
a76daa432c
Fix parsing of char16_t, char32_t
8 år sedan
Max Brunsfeld
db8d3af84f
Add #elifs inside of #ifdefs
Signed-off-by: Nathan Sobo <nathan@github.com>
8 år sedan
Max Brunsfeld
065bee2c23
Add preprocessor elif clauses
Signed-off-by: Nathan Sobo <nathan@github.com>
8 år sedan
Max Brunsfeld
fcb4537288
Fix regex for unknown preprocessor directives
Signed-off-by: Nathan Sobo <nathan@github.com>
8 år sedan
Max Brunsfeld
1e1f7c9cf8
Parse typedef names as type_identifiers
8 år sedan
Max Brunsfeld
060b072223
Fix interpretation of 'unsigned' et al as standalone types
8 år sedan
Max Brunsfeld
82b62611b6
Differentiate primitive types from other type names
8 år sedan
Max Brunsfeld
c4ed85b79b
Call inline a storage class specifier like static
8 år sedan
Max Brunsfeld
31c966ece2
Handle multi-line comments with asterisks at the end
8 år sedan
Max Brunsfeld
f433b2bf8a
Tweak identifier naming convention
9 år sedan
Max Brunsfeld
6147b5ecca
Rename label_name -> label, extract rules for identifier renames
9 år sedan
Max Brunsfeld
66003e2afc
Rename type_clause -> type_descriptor and pull out the parens
9 år sedan
Max Brunsfeld
9e7706d922
Distinguish variables, types, fields and labels using renames
9 år sedan
Max Brunsfeld
debe919f84
Allow whitespace after the # in preprocessor directives
9 år sedan
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 år sedan
Max Brunsfeld
eb82660b87
Generalize the ordering of type and declaration specifiers
9 år sedan
Max Brunsfeld
ab0162ce37
Make member_declaration_list its own rule
9 år sedan
Max Brunsfeld
42436c29ae
Allow simple abstract function declarators as in `sizeof(void * ())`
9 år sedan
Max Brunsfeld
39a662907b
Make a named node for argument lists in call expressions
9 år sedan
Max Brunsfeld
281e0cd60d
Add 'u' and 'l' suffixes on number literals
9 år sedan
Max Brunsfeld
eaa878ce95
Allow preprocessor conditionals inside functions
9 år sedan
Max Brunsfeld
e64b56050e
Add preprocessor if blocks
9 år sedan
Max Brunsfeld
8e8a968e3b
Fix handling of backslashes in string literals
9 år sedan
Max Brunsfeld
9b715a2620
Add concatenated strings
9 år sedan