Amaan Qureshi
c75868f8b5
feat: C23
před 3 roky
Christian Clason
6adee19458
feat: allow identifiers in string concatenations ( #145 )
* feat: allow identifiers in string concatenations
Resolves errors in strings of the form:
("failed in line %" PRIdLINENR)
---------
Co-authored-by: Lewis Russell <lewis6991@gmail.com>
před 3 roky
Benjamin Brownlee
bb74560cd4
fix: allow preproc define without value to preceed a line with whitespace at start
před 3 roky
calixteman
c455818961
#include can be followed by a macro name or a macro call ( #38 )
* #include can be followed by a macro name or a macro call
* In preproc_include, use preproc_call_expression
před 6 roky
calixteman
d2ebd7f6c0
Macro definition can contain continuation line in the argument list ( #28 )
* Macro definition can contain continuation line in the argument list
* Reset grammar since line continuations are handled globally
Preserve the test.
před 6 roky
calixteman
362c031880
Parse expressions in preprocessor #if statement ( #29 )
* Parse expressions in preprocessor #if statement
* Make preproc_expression look like a normal expression
* Hide the wrapper rules
* Alias the rulres to match their corresponding expression rule
* Handle line continuations as extra tokens
před 6 roky
Max Brunsfeld
457a7917a1
Use new test structure, add syntax highlighting tests
před 6 roky
Max Brunsfeld
c3965938cc
Add node fields, update tree-sitter-cli
před 7 roky
Max Brunsfeld
9e21e17371
Allow preprocessor conditionals inside of field declaration lists
Co-Authored-By: Thomas Johansen <thomasjo@gmail.com>
před 8 roky
Max Brunsfeld
db8d3af84f
Add #elifs inside of #ifdefs
Signed-off-by: Nathan Sobo <nathan@github.com>
před 8 roky
Max Brunsfeld
065bee2c23
Add preprocessor elif clauses
Signed-off-by: Nathan Sobo <nathan@github.com>
před 8 roky
Max Brunsfeld
fcb4537288
Fix regex for unknown preprocessor directives
Signed-off-by: Nathan Sobo <nathan@github.com>
před 8 roky
Max Brunsfeld
82b62611b6
Differentiate primitive types from other type names
před 8 roky
Max Brunsfeld
f433b2bf8a
Tweak identifier naming convention
před 9 roky
Max Brunsfeld
9e7706d922
Distinguish variables, types, fields and labels using renames
před 9 roky
Max Brunsfeld
debe919f84
Allow whitespace after the # in preprocessor directives
před 9 roky
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.
před 9 roky
Max Brunsfeld
39a662907b
Make a named node for argument lists in call expressions
před 9 roky
Max Brunsfeld
eaa878ce95
Allow preprocessor conditionals inside functions
před 9 roky
Max Brunsfeld
e64b56050e
Add preprocessor if blocks
před 9 roky
Max Brunsfeld
eed36b3f88
Allow object-like defines whose values start with parentheses
před 9 roky
Max Brunsfeld
f4fca3e638
⬆️ tree-sitter, rename grammar_test to corpus
před 9 roky
Max Brunsfeld
6093f6f023
Tweak test for #defines
před 10 roky
Max Brunsfeld
fb4ace990e
Fix issues with preprocessor defininitions
před 10 roky
Max Brunsfeld
1844ad2d93
Add some error recovery points
před 10 roky
Max Brunsfeld
f6dc4d7942
Add structure to #ifdef blocks
před 10 roky
Max Brunsfeld
87ad2e9c69
Base grammar on existing C99 grammar
před 11 roky
Max Brunsfeld
afac264377
Add #ifndef et al
před 11 roky
Max Brunsfeld
705256dbba
Update tests and grammar for new tree-sitter
Now there is never a need to mark a repeat rule as optional
před 12 roky
Max Brunsfeld
474975e32b
Add unions, enums
před 12 roky
Max Brunsfeld
c91415338d
Initial commit
před 12 roky