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