Commit Graph

1073 Commits

Author SHA1 Message Date
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