Amaan Qureshi
4b6e0bc97b
feat: add `attribute_specifier` to struct
пре 3 година
Amaan Qureshi
349f3bb3f4
chore: generate & update test
пре 3 година
Amaan Qureshi
5b08b70f2b
chore: update & add tests
пре 3 година
Amaan Qureshi
60544dbdd2
Revert "fix: rework top level function definition pointer association"
This reverts commit eb6649e0c2 .
пре 3 година
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 година
Amaan Qureshi
c75868f8b5
feat: C23
пре 3 година
Amaan Qureshi
bb4ab38847
feat: allow type_qualifiers after typedef specifier, alias char content
пре 3 година
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 година
Amaan Qureshi
f67789cdfd
chore: add some tests
пре 3 година
John Drouhard
f71e80b9f2
Extract "..." into a named node called variadic_parameter. Fixes #73
пре 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 година
Max Brunsfeld
457a7917a1
Use new test structure, add syntax highlighting tests
пре 6 година
Max Brunsfeld
0bc1adf0c2
Tweak fields
пре 7 година
Max Brunsfeld
c3965938cc
Add node fields, update tree-sitter-cli
пре 7 година
calixteman
fb9fbd83f0
Handle __attribute__ in function declaration ( #19 )
* Handle __attribute__ in function declaration
* Fix tests in examples/
* Remove useless optional
пре 7 година
Max Brunsfeld
5a25ac2983
Allow multiple names to be defined in a typedef statement
Fixes tree-sitter/tree-sitter-cpp#30
пре 7 година
Max Brunsfeld
50c3a02bc7
Allow preprocessor directives in field decl lists
Fixes tree-sitter/tree-sitter-cpp#29
пре 7 година
Max Brunsfeld
7f827b42a8
Add explicit nodes for bitfield clauses
пре 7 година
Max Brunsfeld
ed56d5e288
Fix array declarator parsing
Refs https://github.com/atom/atom/issues/18346#issuecomment-433734281
пре 7 година
Max Brunsfeld
f8cab65c3a
Allow type qualifier lists in pointer declarators
Fixes tree-sitter/tree-sitter-cpp#7
пре 8 година
Max Brunsfeld
95b1b4315e
Add _Atomic and restrict type qualifiers
пре 8 година
Max Brunsfeld
1e1f7c9cf8
Parse typedef names as type_identifiers
пре 8 година
Max Brunsfeld
82b62611b6
Differentiate primitive types from other type names
пре 8 година
Max Brunsfeld
c4ed85b79b
Call inline a storage class specifier like static
пре 8 година
Max Brunsfeld
f433b2bf8a
Tweak identifier naming convention
пре 9 година
Max Brunsfeld
9e7706d922
Distinguish variables, types, fields and labels using renames
пре 9 година
Max Brunsfeld
eb82660b87
Generalize the ordering of type and declaration specifiers
пре 9 година
Max Brunsfeld
ab0162ce37
Make member_declaration_list its own rule
пре 9 година
Max Brunsfeld
f3ea61c8fe
Add C++ linkage specifiers, since they appear in .h files
пре 9 година
Max Brunsfeld
367cd73ee2
Allow unsigned, short, etc to be their own types
пре 9 година
Max Brunsfeld
f4fca3e638
⬆️ tree-sitter, rename grammar_test to corpus
пре 9 година
Max Brunsfeld
f9a1ffa413
Add function-like macros as type specifiers
пре 10 година
Max Brunsfeld
9e4d077996
Add varargs function declarations
пре 10 година
Max Brunsfeld
d6d31778ba
Allow trailing commas in enum specifiers
пре 10 година
Max Brunsfeld
fa30191e88
Update grammar to use new tree-sitter API
Also, rewrite the way declarators are handled to produce a clearer AST
пре 10 година
Max Brunsfeld
87ad2e9c69
Base grammar on existing C99 grammar
пре 11 година
Max Brunsfeld
ae3a41b13f
Add all storage classes
пре 11 година
Max Brunsfeld
845921d558
Add storage classes to function defs
пре 11 година
Max Brunsfeld
485141c5c0
Add functions w/ pointer return types
пре 11 година
Max Brunsfeld
ccdbf809ad
Allow pointer types in typedefs
пре 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
c762be696e
Add variable definitions, function definitions
пре 12 година
Max Brunsfeld
ebcf79c462
Add long, short, unsigned
пре 12 година
Max Brunsfeld
af4466ace2
Add composite-typed variable declarations
пре 12 година
Max Brunsfeld
474975e32b
Add unions, enums
пре 12 година
Max Brunsfeld
c91415338d
Initial commit
пре 12 година