DennySun2100
25371f9448
feat: add Microsoft's SEH extension
Co-authored-by: Denny Sun <dennys@microsoft.com>
преди 2 години
Amaan Qureshi
978daf49f6
feat: allow `$` in identifiers
преди 2 години
Phil Turnbull
f1075f2d65
fix: `sizeof` precedence is incorrect
преди 2 години
Amaan Qureshi
87a5caaf2c
chore: generate
преди 2 години
Amaan Qureshi
4d991237e2
chore: generate
преди 2 години
Amaan Qureshi
9933b50313
fix: rework rules to reduce state count
преди 2 години
Amaan Qureshi
b4cdc500b1
chore: generate
преди 2 години
Amaan Qureshi
39bea7d391
fix: remove unnecessary conflicts
преди 3 години
Amaan Qureshi
43a147ad77
chore: generate
преди 3 години
Amaan Qureshi
0cc26b0e3b
chore: generate
преди 3 години
Amaan Qureshi
4b6e0bc97b
feat: add `attribute_specifier` to struct
преди 3 години
Amaan Qureshi
349f3bb3f4
chore: generate & update test
преди 3 години
Amaan Qureshi
84c6744e0e
chore: generate
преди 3 години
Amaan Qureshi
0df358adfb
chore: generate
преди 3 години
Amaan Qureshi
34db9e4b29
fix: rework true top-level items to disallow binary expressions
This resolves conflicts with declarations that can be interpreted as binary_expressions
преди 3 години
Amaan Qureshi
c75868f8b5
feat: C23
преди 3 години
Amaan Qureshi
bb4ab38847
feat: allow type_qualifiers after typedef specifier, alias char content
преди 3 години
antoinemadec
7f678a26bb
Add else_clause
преди 3 години
TJ DeVries
6b85e8478b
fix: Add compound statement to call expression
преди 5 години
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>
преди 3 години
Benjamin Brownlee
693d298099
feat: add gnu inline asm syntax ( #140 )
преди 3 години
Benjamin Brownlee
bb74560cd4
fix: allow preproc define without value to preceed a line with whitespace at start
преди 3 години
Amaan Qureshi
b191f46285
chore: generate
преди 3 години
Jason Brown
e1359a0a54
Adding support for offsetof
преди 3 години
Amaan Qureshi
ec5e4099ce
chore: generate
преди 3 години
Amaan Qureshi
f5c6f68fdd
chore: generate
преди 3 години
Amaan Qureshi
f0db9dfc82
chore: generate
преди 3 години
Jade Lovelace
93135e2eb5
fix: implement Unicode identifiers
According to cppreference, identifiers are `(XID_Start | '_')
XID_Continue*`, which is the case as of C++23 and C2x. I have confirmed
this myself with the drafts of C++23 and C2x.
https://en.cppreference.com/w/cpp/language/identifiers
Clang indeed implements identifiers as `(XID_Start | '_') XID_Continue*`
in C++ mode and C2x mode, with a slight extension to the character set
to include some extra math characters:
231992d9b8/clang/lib/Lex/Lexer.cpp (L1517-L1530)
преди 3 години
Ismail A Bella
94bc261b1a
fix: allow multiple expressions inside for_statement condition
преди 4 години
John Drouhard
179b70c6be
Attributes: simplify attributed_statement by making it a valid type of non-case statement
This also lets it bind to _any_ statement, which is necessary for some
c++ attributes that can attach to the statement in if, while, and
do/while statements.
преди 4 години
Ben Dunkin
517bf92b2c
add the body label to for loops to make it the same as other loops ( #110 )
преди 4 години
John Drouhard
f71e80b9f2
Extract "..." into a named node called variadic_parameter. Fixes #73
преди 4 години
jdrouhard
9bee34500c
Support attribute statements under case statements ( #83 )
преди 4 години
John Drouhard
b50e693547
Separate _declaration_modifiers from _declaration_specifiers to make it overridable in the cpp grammar
преди 4 години
John Drouhard
0b714a5134
rename attribute_definition to attribute_declaration
преди 4 години
jdrouhard
8fc135a72b
Add support for C23 attributes ( #81 )
* Add support for C23 attributes
https://en.cppreference.com/w/c/language/attributes
* Use wrapper for statements with attributes to reduce state machine size
* Missed a couple _declarators that needed attributes directly after
* Use annotated_declarator for declarators that have attributes immediately following them
* Give field and type declarators the same attribute treatment
преди 4 години
berchn
008008e30a
Add operator field to field_expression ( #69 )
преди 5 години
berchn
25fb87ce98
Add operation field to assignment_expression ( #68 )
преди 5 години
Max Brunsfeld
07b1d73e9d
Bump tree-sitter-cli to 0.19
преди 5 години
Max Brunsfeld
8d4631b673
⬆️ tree-sitter-cli to 0.18
преди 5 години
Max Brunsfeld
99151b1e92
⬆️ tree-sitter-cli
преди 6 години
Mathieu Nayrolles
88592f162e
Add support for Microsoft-specific modifiers ( #40 )
* Add support for Microsoft-specific modifiers
Microsoft-specific modifiers are keywords can be used to modify declarators to form derived types.
The specification for the modifiers themselves is here:
https://docs.microsoft.com/en-us/cpp/cpp/microsoft-specific-modifiers?view=vs-2019
* 0.16.1
преди 6 години
Max Brunsfeld
b4497e0bba
⬆️ tree-sitter-cli
преди 6 години
calixteman
6002fcd5e8
Add a rule for left part of assignment: it'll be helpful to add scope… ( #37 )
* Add a rule for left part of assignment: it'll be helpful to add scoped_name_identifier (c++)
* Inline the assignment_left_expression rule
преди 6 години
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 години
Max Brunsfeld
b6ff8fbdaf
Handle line continuations with CRLF endings
преди 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 години
calixteman
2ed529f075
Add u|U|u8 string|char support ( #36 )
преди 6 години
Max Brunsfeld
457a7917a1
Use new test structure, add syntax highlighting tests
преди 6 години
Max Brunsfeld
3458bfc9a5
⬆️ tree-sitter
преди 6 години