Sam Harwell
b879d508ee
Fix generated alt numbers for non-greedy quantifiers
2012-10-28 16:45:45 -05:00
Sam Harwell
4d2df41cdb
Format and document the 'state' template to improve readability
2012-10-28 16:42:23 -05:00
Sam Harwell
85e2802d66
Use a group file instead of loose templates (easier to understand the interactions)
2012-10-28 11:24:08 -05:00
Sam Harwell
4adef1e455
Output from -atn flag shows the order of outgoing edges from decision states.
2012-10-28 11:17:39 -05:00
Sam Harwell
950f588ac0
Fix implementations: TokenStream interface says getText method returns non-null
2012-10-28 10:04:34 -05:00
Terence Parr
bd0868c305
Merge branch 'action-init' of github.com:sharwell/antlr4
2012-10-26 17:37:45 -07:00
Sam Harwell
f4a3d6f3a8
Move initialization of finallyAction to fillNamedActions - factory cannot provide context information for the Action construction before the constructor completes
2012-10-26 15:46:22 -05:00
Sam Harwell
e89807e350
Add non-greedy quantifier syntax: greedy forms are *, +, ?, and non-greedy forms are *?, +?, ??
...
"greedy" is no longer a block option, and all loops are greedy unless the non-greedy quantifier is explicitly used
Add warning 131 when .* is used, because they probably intended to use the non-greedy form .*?
2012-10-26 15:40:05 -05:00
Sam Harwell
8494007025
Add regression test for antlr/antlr4#26 (an exception upon simple rule with double recursion in an alternative)
2012-10-25 21:45:03 -05:00
Sam Harwell
5a5f56e91c
Add unit test for antlr/antlr4#25 (currently fails because the underlying problem hasn't been fixed)
2012-10-25 21:35:19 -05:00
Sam Harwell
73c6ce5c7e
CIRCULAR_DEPENDENCY error number changed to 200 to make room for expanding the set of grammar errors
2012-10-25 21:34:24 -05:00
Sam Harwell
bfc395d23b
Add regression test for antlr/antlr4#19 (getter for context is not a list when it should be)
2012-10-25 18:03:03 -05:00
Sam Harwell
514a1500ea
Add regression test for antlr/antlr4#6 (NullPointerException in getMissingSymbol)
2012-10-25 17:42:09 -05:00
Terence Parr
b89445e861
Merge branch 'maven-update' of git://github.com/sharwell/antlr4
2012-10-24 12:58:52 -07:00
Sam Harwell
a80a6022ff
Update pom.xml
2012-10-22 12:19:24 -05:00
Sam Harwell
12b2c34946
Lexer uses strictly-ordered alternatives within a rule. Simplifies code, increases performance when non-terminal (lexer rules) depth is limited, and actually fixes non-greedy behavior
2012-10-21 22:04:38 -05:00
Terence Parr
ed7d4b1dc1
fail option on predicates work.
2012-10-20 15:57:06 -07:00
Terence Parr
d96e02019a
working towards b3
2012-10-20 13:59:57 -07:00
Sam Harwell
f9a63b8810
Fix bug in PredictionContext.arrayMerge
2012-10-15 14:57:06 -05:00
Sam Harwell
c737baf20c
Add several unit tests for greedy/non-greedy behavior in lexer
2012-10-15 14:37:23 -05:00
Sam Harwell
a40073a8cc
Merge remote-tracking branch 'antlr/master' into non-greedy
2012-10-15 01:58:15 -05:00
Sam Harwell
d738949ccd
Fix testOptional and testNoViableAltAvoidance
2012-10-14 22:41:18 -05:00
Sam Harwell
7c221f13ed
Unify EMPTY_FULL_CTX_INVOKING_STATE and EMPTY_INVOKING_STATE (fixes an array indexing error during closure)
2012-10-14 22:25:11 -05:00
Sam Harwell
30b5e2c6be
Fix greedy tests behaving as non-greedy in TestATNLexerInterpreter
2012-10-14 21:46:59 -05:00
Sam Harwell
b0a4200a08
Allow greedy option for blocks in both lexer and parser
2012-10-14 21:46:58 -05:00
Sam Harwell
0d30a7a60b
Add ATN representation for non-greedy decisions
2012-10-14 21:45:34 -05:00
Sam Harwell
9ea072aee0
Uniform handling of non-greedy decisions in ATN factory
2012-10-14 21:45:33 -05:00
Sam Harwell
39c73302f6
Explicit greedy option overrides implicit greedy option
2012-10-14 21:45:32 -05:00
Sam Harwell
65793adfc8
Fix detection of unsupported block options
2012-10-14 21:45:31 -05:00
Sam Harwell
850fe5b9c2
Make sure to serialize/deserialize the ATN before using the interpreter since the runtime alters the ATN on load
2012-10-14 21:45:31 -05:00
Sam Harwell
b3b1a3750d
Allow optionsSpec at the beginning of a lexer block
2012-10-14 21:45:30 -05:00
Terence Parr
75a01636d0
got ambiguity reporting set right I think. fixed unit tests to force exact ambig detection.
2012-10-14 18:42:43 -07:00
Terence Parr
01bbce6952
full LL is always correct now, if slower. Stops prediction when resolvesToJustOneViableAlt(). SLL always uses heuristic
2012-10-14 13:25:34 -07:00
Terence Parr
e7ece0e90a
got fast prediction termination with exactAmbig option that forces ANTLR to scan ahead until it identifies the true ambiguity.
2012-10-13 18:12:33 -07:00
Terence Parr
ec32b71761
another unit test
2012-10-13 15:48:58 -07:00
Terence Parr
742887c9b1
Add another unit test to show when to keep looking for lookahead during prediction
2012-10-13 15:41:42 -07:00
Terence Parr
a9ccda48ab
Merge branch 'new-conflicting-alts' of github.com:parrt/antlr4 into new-conflicting-alts
2012-10-13 10:48:43 -07:00
Terence Parr
e69734c501
rm loopsSimulateTailRecursion
2012-10-12 17:49:43 -07:00
Terence Parr
3894d0b664
add
2012-10-12 10:17:00 -07:00
Terence Parr
2ecfe2671a
size!=cardinality with BitSet.
2012-10-11 20:20:02 -07:00
Terence Parr
badb48a987
almost there.
2012-10-11 18:47:47 -07:00
Stephen Gaito
30b7c9399e
made changes suggested by Sam and deleted erroneous comment about not generating TLexer.tokens which is no longer true for ANTLR4
2012-10-11 06:59:49 +01:00
Stephen Gaito
3ff799d359
added -listener and -visitor dependency generation to the command line -depend switch (tool/BuildDependencyGenerator.java); signed contributors.txt file
2012-10-10 15:27:28 +01:00
Terence Parr
4c6ee82317
Merge branch 'antlr4-maven-plugin' of git://github.com/sharwell/antlr4
2012-10-08 15:28:42 -07:00
Terence Parr
28ddd7a6cd
add cmt
2012-10-08 15:27:35 -07:00
Terence Parr
ebe633a2cc
replace ctor for single ctx and don't merge wildcards when payloads aren't the same. fixes a unit test.
2012-10-08 15:26:56 -07:00
Terence Parr
55ad7bdb2c
tweak unit test
2012-10-08 11:56:46 -07:00
Terence Parr
7bc16f40ea
Merge branch 'prediction-context-fixes' of git://github.com/sharwell/antlr4
2012-10-08 11:37:29 -07:00
Sam Harwell
e14e7663b5
Normalize and fix tests in TestGraphNodes
2012-10-08 10:26:48 -05:00
Sam Harwell
f43e3614a8
Fix invoking states for recursion contexts
2012-10-08 07:38:06 -05:00
Sam Harwell
4989ae965f
Remove unused imports
2012-10-08 07:22:05 -05:00
Sam Harwell
1defbdcc5d
Fix parent pointers in parse trees for nested recursion contexts
2012-10-07 23:01:26 -05:00
Sam Harwell
4dee32ade8
Validate parse tree shape as part of the unit tests
2012-10-07 22:59:45 -05:00
Sam Harwell
ad6bb6af56
Updated copyright headers
2012-10-01 15:30:03 -05:00
Sam Harwell
b8eac6df60
Updated tests in TestUnbufferedCharStream to cover many more edge cases
2012-10-01 15:13:01 -05:00
Sam Harwell
fa3e6e5867
Move CharStream.EOF to IntStream.EOF
2012-10-01 14:09:11 -05:00
Sam Harwell
fa7015f798
Move test helper methods out of exposed UnbufferedCharStream API
2012-10-01 11:53:04 -05:00
Sam Harwell
1c65bcd02f
Move test helper methods out of exposed UnbufferedTokenStream API
2012-10-01 08:25:46 -05:00
Terence Parr
2db3691f6d
added -depend cmd-line option; fixes #71
2012-09-30 18:27:36 -07:00
Terence Parr
68dd847c04
* Fixed the unbuffered streams, which actually buffered everything
...
up by mistake. tweaked a few comments.
* Added a getter to IntStream for the token factory
2012-09-30 16:45:30 -07:00
Terence Parr
ac29e6cdac
got unbufferedchar working I think.
2012-09-30 12:37:35 -07:00
Terence Parr
3575e9c3c7
fix playground
2012-09-29 17:02:33 -07:00
Terence Parr
db1bfa9c03
ParserATNSimulator wasn't using Token type param.
2012-09-29 16:58:51 -07:00
Terence Parr
46fc5001d5
unit test cleanup.
2012-09-29 16:51:33 -07:00
Terence Parr
ebe9cd245e
interp DFA shouldn't be static
2012-09-29 16:51:17 -07:00
Terence Parr
1e3d02314f
tweak for 4.0b2 version num. (part deux)
2012-09-29 12:54:06 -07:00
Terence Parr
b56cd0f587
simplified delete configs algorithm.
2012-09-29 12:48:20 -07:00
Terence Parr
166231b5e1
no greedy option in lexer either.
2012-09-29 12:34:08 -07:00
Terence Parr
e78ecd418a
rm isGreedy from DecisionState, but allow ATN construction for lexer to be nongreedy. error if '.' in parser. rm unit tests for parser nongreedy
2012-09-29 12:33:00 -07:00
Terence Parr
d3d5bebf9f
add to unit test.
2012-09-29 11:47:06 -07:00
Terence Parr
ea652962ea
allow "tokens {}"
2012-09-28 16:39:36 -07:00
Terence Parr
c8a51ccfad
got wildcard working properly with recursion now!!! new unit test.
2012-09-27 12:22:16 -07:00
Terence Parr
4d8158c6f3
mixed this up in branch, but fixing $attr refs in a grammar.
2012-09-27 11:45:59 -07:00
Terence Parr
19782e6d77
first wack at fixing nongreedy (ACTION | .)* for recursive rules.
2012-09-27 11:44:51 -07:00
Terence Parr
332c9f4452
push
2012-09-25 16:39:08 -07:00
parrt
faff63366c
tweak
2012-09-25 16:33:50 -07:00
Terence Parr
4bde79a666
playing with tests.
2012-09-24 08:54:32 -07:00
Terence Parr
f43cd15dd9
rm'd $foo references from lexer actions and added a good error message.
2012-09-23 18:20:04 -07:00
Terence Parr
262a331a5b
recursive rule bug in lexer; the lexer ATN simulator was not checking for empty stack at rule stop states.
2012-09-23 18:04:46 -07:00
Terence Parr
1b60543207
Merge branch 'lexer-properties' of github.com:sharwell/antlr4
2012-09-23 11:09:04 -07:00
Sam Harwell
56c4e0e8b0
Add back support for properties $type, $text, $channel, $mode in lexer actions
2012-09-22 22:01:35 -05:00
Sam Harwell
fed03ea664
Generate hard tabs instead of spaces to reduce generated file sizes
2012-09-22 21:47:09 -05:00
Sam Harwell
8e3b85d868
The -package command line option shouldn't suppress the @header{} block in a grammar
2012-09-22 21:47:03 -05:00
Sam Harwell
62e005c841
Add nb-configuration.xml files
2012-09-22 19:49:11 -05:00
Terence Parr
71276f7df8
generate package for the listener and visitor files too
2012-09-22 17:47:01 -07:00
Terence Parr
913bb717bd
added -package option.
2012-09-22 17:36:14 -07:00
Terence Parr
1909fb3f85
fix unit tests
2012-09-22 15:02:16 -07:00
Terence Parr
91bad33f57
comment out attributes for lexical rule references.
2012-09-22 15:01:54 -07:00
Terence Parr
2241b3ea51
comment out attributes for lexical rule references.
2012-09-22 13:07:12 -07:00
Terence Parr
01b5510be1
Exceptions now work on rules. If you specify at least one catch, then it overrides all catches that ANTLR generates. Otherwise, there would be no way to override the generic recognition exception clause.
2012-09-22 11:58:41 -07:00
Terence Parr
8a928d4326
working on fix for rule exceptions
2012-09-21 18:26:09 -07:00
Sam Harwell
e9656e35f9
Fix codegen problem where notset and wildcard transitions could match invalid tokens and/or EOF
2012-09-16 12:56:10 -05:00
Terence Parr
0ac781aebf
was processing grammar after syntax error.
2012-09-09 11:50:30 -07:00
Terence Parr
c581faafc7
removing public/private rule modifiers.
2012-09-09 10:52:03 -07:00
Terence Parr
4bbbff4e8e
comments and a rename
2012-09-08 15:23:33 -07:00
Terence Parr
22e3f4f85f
use v4 not v3 ordered hash
2012-09-08 13:26:34 -07:00
Terence Parr
8908641dca
use v4 not v3 Graph.
2012-09-08 13:21:03 -07:00
Terence Parr
0a961645be
fix comments; fix unit test
2012-09-08 13:13:00 -07:00
Terence Parr
1f529e45b1
fix unit test
2012-09-08 12:48:07 -07:00
Terence Parr
0bb154957a
version to method.
2012-09-08 12:40:49 -07:00