Amaan Qureshi
349f3bb3f4
chore: generate & update test
3 år sedan
Amaan Qureshi
5b08b70f2b
chore: update & add tests
3 år sedan
Amaan Qureshi
60544dbdd2
Revert "fix: rework top level function definition pointer association"
This reverts commit eb6649e0c2 .
3 år sedan
Amaan Qureshi
eb6649e0c2
fix: rework top level function definition pointer association
Previously, pointers were associated with the function identifier, now they're associated with the return type
3 år sedan
Amaan Qureshi
c75868f8b5
feat: C23
3 år sedan
Amaan Qureshi
bb4ab38847
feat: allow type_qualifiers after typedef specifier, alias char content
3 år sedan
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 år sedan
Amaan Qureshi
f67789cdfd
chore: add some tests
3 år sedan
John Drouhard
f71e80b9f2
Extract "..." into a named node called variadic_parameter. Fixes #73
4 år sedan
John Drouhard
0b714a5134
rename attribute_definition to attribute_declaration
4 år sedan
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 år sedan
Max Brunsfeld
457a7917a1
Use new test structure, add syntax highlighting tests
6 år sedan
Max Brunsfeld
0bc1adf0c2
Tweak fields
7 år sedan
Max Brunsfeld
c3965938cc
Add node fields, update tree-sitter-cli
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
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
7f827b42a8
Add explicit nodes for bitfield clauses
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
f8cab65c3a
Allow type qualifier lists in pointer declarators
Fixes tree-sitter/tree-sitter-cpp#7
8 år sedan
Max Brunsfeld
95b1b4315e
Add _Atomic and restrict type qualifiers
8 år sedan
Max Brunsfeld
1e1f7c9cf8
Parse typedef names as type_identifiers
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
f433b2bf8a
Tweak identifier naming convention
9 år sedan
Max Brunsfeld
9e7706d922
Distinguish variables, types, fields and labels using renames
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
f3ea61c8fe
Add C++ linkage specifiers, since they appear in .h files
9 år sedan
Max Brunsfeld
367cd73ee2
Allow unsigned, short, etc to be their own types
9 år sedan
Max Brunsfeld
f4fca3e638
⬆️ tree-sitter, rename grammar_test to corpus
9 år sedan
Max Brunsfeld
f9a1ffa413
Add function-like macros as type specifiers
10 år sedan
Max Brunsfeld
9e4d077996
Add varargs function declarations
10 år sedan
Max Brunsfeld
d6d31778ba
Allow trailing commas in enum specifiers
10 år sedan
Max Brunsfeld
fa30191e88
Update grammar to use new tree-sitter API
Also, rewrite the way declarators are handled to produce a clearer AST
10 år sedan
Max Brunsfeld
87ad2e9c69
Base grammar on existing C99 grammar
11 år sedan
Max Brunsfeld
ae3a41b13f
Add all storage classes
11 år sedan
Max Brunsfeld
845921d558
Add storage classes to function defs
11 år sedan
Max Brunsfeld
485141c5c0
Add functions w/ pointer return types
11 år sedan
Max Brunsfeld
ccdbf809ad
Allow pointer types in typedefs
11 år sedan
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 år sedan
Max Brunsfeld
c762be696e
Add variable definitions, function definitions
12 år sedan
Max Brunsfeld
ebcf79c462
Add long, short, unsigned
12 år sedan
Max Brunsfeld
af4466ace2
Add composite-typed variable declarations
12 år sedan
Max Brunsfeld
474975e32b
Add unions, enums
12 år sedan
Max Brunsfeld
c91415338d
Initial commit
12 år sedan