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 лет назад