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
6 年之前
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.
6 年之前
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
6 年之前
Max Brunsfeld
457a7917a1
Use new test structure, add syntax highlighting tests
6 年之前
Max Brunsfeld
c3965938cc
Add node fields, update tree-sitter-cli
7 年之前
Max Brunsfeld
9e21e17371
Allow preprocessor conditionals inside of field declaration lists
Co-Authored-By: Thomas Johansen <thomasjo@gmail.com>
8 年之前
Max Brunsfeld
db8d3af84f
Add #elifs inside of #ifdefs
Signed-off-by: Nathan Sobo <nathan@github.com>
8 年之前
Max Brunsfeld
065bee2c23
Add preprocessor elif clauses
Signed-off-by: Nathan Sobo <nathan@github.com>
8 年之前
Max Brunsfeld
fcb4537288
Fix regex for unknown preprocessor directives
Signed-off-by: Nathan Sobo <nathan@github.com>
8 年之前
Max Brunsfeld
82b62611b6
Differentiate primitive types from other type names
8 年之前
Max Brunsfeld
f433b2bf8a
Tweak identifier naming convention
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
39a662907b
Make a named node for argument lists in call expressions
9 年之前
Max Brunsfeld
eaa878ce95
Allow preprocessor conditionals inside functions
9 年之前
Max Brunsfeld
e64b56050e
Add preprocessor if blocks
9 年之前
Max Brunsfeld
eed36b3f88
Allow object-like defines whose values start with parentheses
9 年之前
Max Brunsfeld
f4fca3e638
⬆️ tree-sitter, rename grammar_test to corpus
9 年之前
Max Brunsfeld
6093f6f023
Tweak test for #defines
10 年之前
Max Brunsfeld
fb4ace990e
Fix issues with preprocessor defininitions
10 年之前
Max Brunsfeld
1844ad2d93
Add some error recovery points
10 年之前
Max Brunsfeld
f6dc4d7942
Add structure to #ifdef blocks
10 年之前
Max Brunsfeld
87ad2e9c69
Base grammar on existing C99 grammar
11 年之前
Max Brunsfeld
afac264377
Add #ifndef et al
11 年之前
Max Brunsfeld
705256dbba
Update tests and grammar for new tree-sitter
Now there is never a need to mark a repeat rule as optional
12 年之前
Max Brunsfeld
474975e32b
Add unions, enums
12 年之前
Max Brunsfeld
c91415338d
Initial commit
12 年之前