Max Brunsfeld
c96c4a08e6
Use an object pool for stack nodes, to reduce allocations
...
Also, fix some leaks in the case where memory allocation failed during parsing
2016-02-04 11:19:42 -08:00
Max Brunsfeld
a302ee822a
Add swift runtime memory memory leak to valgrind suppressions
2016-02-02 13:37:23 -08:00
Max Brunsfeld
29c77c34ef
Avoid leaking copy of potentially-extra token
2016-02-02 13:13:32 -08:00
Max Brunsfeld
2da716d659
Update help message for test script
2016-02-02 12:31:13 -08:00
Max Brunsfeld
1c9dff6dad
Guard memcpy calls in ts_parser__accept
2016-02-02 12:22:29 -08:00
Max Brunsfeld
4a7312e514
Fix memory leaks when editing
2016-02-02 12:22:29 -08:00
Max Brunsfeld
e3d65d5cbd
Change name of generated parser files
...
The previous name, parser.c made it harder to set breakpoints inside of
src/runtime/parser.c in LLDB
2016-01-29 17:33:15 -08:00
Max Brunsfeld
7c44b0e387
Fix leaked lookahead trees in normal parsing
2016-01-29 17:31:43 -08:00
Max Brunsfeld
a74bf7ece1
Release tree when changing document's language
2016-01-29 17:25:07 -08:00
Max Brunsfeld
b1f4b046f5
Test script - allow valgrind to be run w/o the leak check
2016-01-29 17:03:35 -08:00
Max Brunsfeld
95828f42a8
Fix leak of StringInput wrapper struct
2016-01-29 16:40:38 -08:00
Max Brunsfeld
0cf59913ae
Fix double retain of child trees
2016-01-28 23:15:22 -08:00
Max Brunsfeld
5f27550a7a
Fix leaked nodes in stack
2016-01-28 21:18:57 -08:00
Max Brunsfeld
ca6dfb81d9
Run valgrind with full leak check
2016-01-28 21:18:41 -08:00
Max Brunsfeld
6401a065ae
Use different types for advance and accept-token actions
...
Unlike with parse actions, lexical actions of different types never appear
in the same places in the table
2016-01-22 22:24:11 -07:00
Max Brunsfeld
1ec39abe6a
clang-format
2016-01-22 22:10:18 -07:00
Max Brunsfeld
f0b1d851ce
Fix uninitialized instance variable in ParseAction
2016-01-21 23:52:05 -07:00
Max Brunsfeld
6e2b49a539
Merge pull request #24 from maxbrunsfeld/handle-oom
...
Handle memory allocation failures gracefully
2016-01-21 23:51:28 -07:00
Max Brunsfeld
e17ce2903e
Clean up ts_parser__breakdown_stack
2016-01-21 14:07:38 -07:00
Max Brunsfeld
39417e55df
Test successful parsing after handling allocation failures
2016-01-19 19:52:07 -08:00
Max Brunsfeld
3dde0a6f39
Handle allocation failures during parsing
2016-01-19 18:08:01 -08:00
Max Brunsfeld
ff97a09343
Compile test grammars w/ debug symbols
2016-01-19 15:33:46 -08:00
Max Brunsfeld
1543a6c7b0
Handle allocation failures when instantiating documents
2016-01-18 11:32:10 -08:00
Max Brunsfeld
9d0835edbf
Return non-const string from ts_node_string
...
The caller should free the string.
2016-01-18 10:27:23 -08:00
Max Brunsfeld
87316f22f3
Wrap all calls to malloc and friends
2016-01-15 15:27:50 -08:00
Max Brunsfeld
19b776e74d
Fix some errors caught by clang static analyzer
2016-01-15 13:33:05 -08:00
Max Brunsfeld
04afda2e66
Drop extensions from script filenames
2016-01-15 13:01:19 -08:00
Max Brunsfeld
7dfb1dbdf6
Restore default value of USE_BOOST_REGEX build option
2016-01-15 11:53:30 -08:00
Max Brunsfeld
3bc7045e05
Fix fixtures path in fetch_languages script
2016-01-15 11:46:13 -08:00
Max Brunsfeld
90cbd61280
Adjust static library path on linux
2016-01-15 11:40:46 -08:00
Max Brunsfeld
9cc24f3e28
Make test script fail properly
2016-01-15 11:35:35 -08:00
Max Brunsfeld
d6ed783c8c
Improve error handling when dynamically loading languages in specs
2016-01-15 11:35:22 -08:00
Max Brunsfeld
eef1ae17a0
Restore USE_BOOST_REGEX build option for specs
2016-01-15 11:30:32 -08:00
Max Brunsfeld
8ec0e3f43e
Link to libld in specs
2016-01-15 11:29:17 -08:00
Max Brunsfeld
aaa77d69ec
Merge pull request #23 from maxbrunsfeld/cleaner-integration-tests
...
Make it easier to write integration tests
2016-01-15 11:23:39 -08:00
Max Brunsfeld
0f7dbea9a3
Unify test targets, use externally defined languages as fixtures
2016-01-15 11:19:24 -08:00
Max Brunsfeld
569b9d4099
Allow comments within grammar JSON
2016-01-14 11:28:13 -08:00
Max Brunsfeld
ad4089a4bf
Move anonymous tokens grammar into integration spec
2016-01-14 10:35:03 -08:00
Max Brunsfeld
bc56729b8b
Fix JSON syntax error in README grammar
2016-01-14 10:17:37 -08:00
Max Brunsfeld
4a5deda071
Add tests that compile a grammar and use its parser
2016-01-14 10:11:30 -08:00
Max Brunsfeld
49f393b75e
Merge pull request #22 from maxbrunsfeld/c-compiler-api
...
Simplify the compiler API
2016-01-13 21:08:41 -08:00
Max Brunsfeld
7121689cfe
Update README to reflect new compiler API
2016-01-13 20:52:58 -08:00
Max Brunsfeld
96dd5c820e
Add JSON schema for grammar format
2016-01-13 20:52:35 -08:00
Max Brunsfeld
1142e05873
Copy lookahead state to the stack before pushing it to the vector
...
Valgrind caught this. If the vector needs to grow, the original pointer will
become invalid when the buffer is realloc'd
2016-01-13 13:49:32 -08:00
Max Brunsfeld
d4632ab9a9
Make the compile function plain C and take a JSON grammar
2016-01-11 12:33:48 -08:00
Max Brunsfeld
b69e19c525
Add plain C API for compiling a JSON grammar
2016-01-10 13:44:22 -08:00
Max Brunsfeld
36870bfced
Make Grammar a simple struct
2016-01-08 15:51:30 -08:00
Max Brunsfeld
e59f6294cb
Fix bug in lexical state de-duping
2015-12-30 11:15:36 -08:00
Max Brunsfeld
4b04afac5e
Control lexer's error-mode via explicit boolean argument
...
Previously, the lexer would operate in error-mode (ignoring any garbage input
until it found a valid token) if it was invoked in the 'error' state. Now that
the error state is deduped with other lexical states, the lexer might be invoked
in that state even when error-mode is not intended. This adds a third argument
to `ts_lex` that explicitly sets the error-mode.
This bug was unlikely to occur in any real grammars, but it caused the
node-tree-sitter-compiler test suite to fail for some grammars with only one
rule.
2015-12-30 09:43:12 -08:00
Max Brunsfeld
4ad1a666be
clang-format
2015-12-29 21:17:31 -08:00