Amaan Qureshi
77e57f5328
feat: support `__asm` in asm expressions
1 yıl önce
Amaan Qureshi
0f1658320e
feat: support the `_Nonnull` clang attribute
1 yıl önce
Amaan Qureshi
be23d2c9d8
chore: generate
2 yıl önce
Amaan Qureshi
64483e84b1
refactor: unhide supertype nodes
2 yıl önce
touzeauv
695779e82f
feat: support the `alignas` type qualifier
Co-authored-by: Valentin Touzeau <tree-sitter.github@valentintouzeau.fr>
2 yıl önce
Amaan Qureshi
b8570770eb
feat: support `static` in array declarations
2 yıl önce
Amaan Qureshi
c2b5837cd0
fix: remove the unnecessary `seq` around variadic_parameter
2 yıl önce
Amaan Qureshi
82fb86aa54
chore: regenerate
2 yıl önce
Valentin Touzeau
ff7f769c2d
fix: correctly handle preproc alternatives
This commit merges functions "elseBlock" and "elifBlock" in a single
function "alternativeBlock". Any call to either function is replaced by
a call to "alternativeBlock", which cover all alternatives (elif,
elifdef and else). The goal is twofold:
1) Correct the grammar to allow all kind of alternatives independently
of the "if" directive. Before the fix, "#if" alternative was
generated by elseBlock only, and thus disallow "#elifdef" as a
follow-up.
2) As a side effect, simplify the parser.
2 yıl önce
ObserverOfTime
db11e91889
build: update bindings and versions
2 yıl önce
Amaan Qureshi
72a60ea888
chore: generate
2 yıl önce
Lewis Russell
c706154d29
fix: allow function definitions to contain preproc attributes
Specifically for Neovim which contains code like:
```c
Dictionary nvim_eval_statusline(String str, Dict(eval_statusline) *opts, Arena *arena, Error *err)
FUNC_API_SINCE(8) FUNC_API_FAST
{
...
}
```
2 yıl önce
Lewis Russell
c325574f64
fix: improve concatenated_string
Now allows `<string> <identifier> ...` forms of concatenations.
2 yıl önce
Brandon Wu
ecdd500806
fix: properly suffix elifdef
2 yıl önce
Amaan Qureshi
34f4c7e751
fix: allow preproc calls in enumerator list items
2 yıl önce
Amaan Qureshi
d908b47d74
chore: generate
2 yıl önce
DennySun2100
25371f9448
feat: add Microsoft's SEH extension
Co-authored-by: Denny Sun <dennys@microsoft.com>
2 yıl önce
Amaan Qureshi
978daf49f6
feat: allow `$` in identifiers
2 yıl önce
Phil Turnbull
f1075f2d65
fix: `sizeof` precedence is incorrect
2 yıl önce
Amaan Qureshi
87a5caaf2c
chore: generate
2 yıl önce
Amaan Qureshi
4d991237e2
chore: generate
2 yıl önce
Amaan Qureshi
9933b50313
fix: rework rules to reduce state count
2 yıl önce
Amaan Qureshi
b4cdc500b1
chore: generate
2 yıl önce
Amaan Qureshi
39bea7d391
fix: remove unnecessary conflicts
3 yıl önce
Amaan Qureshi
43a147ad77
chore: generate
3 yıl önce
Amaan Qureshi
0cc26b0e3b
chore: generate
3 yıl önce
Amaan Qureshi
4b6e0bc97b
feat: add `attribute_specifier` to struct
3 yıl önce
Amaan Qureshi
349f3bb3f4
chore: generate & update test
3 yıl önce
Amaan Qureshi
84c6744e0e
chore: generate
3 yıl önce
Amaan Qureshi
0df358adfb
chore: generate
3 yıl önce
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 yıl önce
Amaan Qureshi
c75868f8b5
feat: C23
3 yıl önce
Amaan Qureshi
bb4ab38847
feat: allow type_qualifiers after typedef specifier, alias char content
3 yıl önce
antoinemadec
7f678a26bb
Add else_clause
3 yıl önce
TJ DeVries
6b85e8478b
fix: Add compound statement to call expression
5 yıl önce
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 yıl önce
Benjamin Brownlee
693d298099
feat: add gnu inline asm syntax ( #140 )
3 yıl önce
Benjamin Brownlee
bb74560cd4
fix: allow preproc define without value to preceed a line with whitespace at start
3 yıl önce
Amaan Qureshi
b191f46285
chore: generate
3 yıl önce
Jason Brown
e1359a0a54
Adding support for offsetof
3 yıl önce
Amaan Qureshi
ec5e4099ce
chore: generate
3 yıl önce
Amaan Qureshi
f5c6f68fdd
chore: generate
3 yıl önce
Amaan Qureshi
f0db9dfc82
chore: generate
3 yıl önce
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 yıl önce
Ismail A Bella
94bc261b1a
fix: allow multiple expressions inside for_statement condition
4 yıl önce
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 yıl önce
Ben Dunkin
517bf92b2c
add the body label to for loops to make it the same as other loops ( #110 )
4 yıl önce
John Drouhard
f71e80b9f2
Extract "..." into a named node called variadic_parameter. Fixes #73
4 yıl önce
jdrouhard
9bee34500c
Support attribute statements under case statements ( #83 )
4 yıl önce
John Drouhard
b50e693547
Separate _declaration_modifiers from _declaration_specifiers to make it overridable in the cpp grammar
4 yıl önce