Commit Graph

552 Commits

Author SHA1 Message Date
parrt 6c5f3655b9 dropped another eps edge; like 5% savings for JavaLR.g4
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9543]
2011-12-07 13:07:04 -08:00
parrt 946c59da14 added Sam's fix for def of ambiguous DFA state; added unit test but not working yet. rule ctx conflictsWith() consistent with v3 now; replaced some Set<Integer> with IntervalSet (for alt sets) and sped things up.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9541]
2011-12-06 17:10:53 -08:00
sharwell cb5d55512a v4: remove stale code (and fix broken build)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9539]
2011-12-06 13:31:34 -08:00
sharwell af8e1edb32 v4: Run unit tests in same process (30% performance improvement)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9538]
2011-12-06 13:30:05 -08:00
parrt 6e79c36861 add verbose dfa state option
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9537]
2011-12-06 12:09:19 -08:00
parrt afb89c56b9 fix a few unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9536]
2011-12-06 11:47:40 -08:00
sharwell edc4224b56 v4: updated atn graphs
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9531]
2011-12-06 10:46:33 -08:00
parrt cab803d5f3 tweak comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9528]
2011-12-05 09:44:40 -08:00
parrt 265a189a86 crap. fixing regression. was adding way too many followlinks.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9527]
2011-12-04 19:01:55 -08:00
parrt 2ddb8100e9 shrunk serialized ATN a bit
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9526]
2011-12-04 18:39:20 -08:00
parrt b09077209c fixed hideous bug found by sam in getAmbigAlts
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9525]
2011-12-04 18:21:24 -08:00
parrt 80fd90d363 rm'd epsilon transition in ATN after rule refs.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9518]
2011-12-03 14:52:24 -08:00
parrt f08e8fc098 predTransition was not passing along predicate properly. rm'd unneeded parameter. pass null if ctx independent pred. added 2 unit tests for non outer ctx check.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9516]
2011-12-03 14:12:06 -08:00
sharwell beec4ab721 v4: Back out changelist 9511 (change DFAState.configs to ATNConfig[])
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9513]
2011-12-02 10:04:34 -08:00
parrt ae74881de6 strip epsilons between alternative elements and also stripped the final epsilons before block ends. added an ATN visitor for general use. updated all of the unit tests so they pass new smaller ATNs. had to do some work in the serialization and deserialization to handle state numbers without state information. did not want to reorder state numbers during optimization.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9512]
2011-12-01 17:46:12 -08:00
sharwell 682e60b065 v4: DFAState.configs now ATNConfig[] instead of OrderedHashSet<ATNConfig>
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9511]
2011-12-01 17:04:25 -08:00
parrt 4400ba169f refactored RuleContext to move all noncritical fields down into ParserRuleContext. Widespread but minor changes. Using the more specific ParserRuleContext where appropriate.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9509]
2011-12-01 14:01:00 -08:00
sharwell 38c69af805 v4: Back out changelist 9507 (PredictionContext optimization)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9508]
2011-12-01 13:14:37 -08:00
sharwell 11b6fa13f9 v4: PredictionContext optimization
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9507]
2011-12-01 13:13:24 -08:00
parrt a8219d943e got java LR parser working :) allows e A B C e type LR alts now
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9506]
2011-11-30 18:57:45 -08:00
parrt ad9259fc4f bad attribute in error msg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9504]
2011-11-30 18:00:43 -08:00
parrt 8d7a97fb68 fixing some pred bugs. fixed unit testSimple in pred eval. optimized sem ctx.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9503]
2011-11-30 17:44:49 -08:00
sharwell 417af93ca1 v4: code cleanup in BaseTest
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9500]
2011-11-30 09:56:32 -08:00
sharwell 918544f2b2 v4: Code cleanup in BaseTest
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9499]
2011-11-30 09:51:48 -08:00
sharwell 1ba52d6f54 v4: Add configurable performance unit test
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9498]
2011-11-30 09:37:12 -08:00
sharwell 49ea01136c v4: Compile the generated listeners in BaseTest. Allow tests to specify extra options to the tool.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9497]
2011-11-30 09:34:32 -08:00
parrt 0bf1aca47f cleaned up a bit so that TestToolSyntaxErrors works. added some cast checks and some bailout upon error before semantic processing
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9483]
2011-11-29 15:59:23 -08:00
parrt e00fa44996 Got validating and disambiguating predicates the way I want; widespread changes. DFAStates now have a list of predicate/alt pairs that they can test at except states. renamed Java.g4 to JavaLR.g4. LL(1) analysis did not fail when it's all predicates, which it must.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9482]
2011-11-29 15:46:51 -08:00
parrt 9a1a8428b5 got ambig pred thing working i think; unit tests. missing validating pred thing.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9480]
2011-11-28 19:16:45 -08:00
parrt e288ff3039 interim pred overhaul
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9479]
2011-11-28 09:37:29 -08:00
parrt 3b7e984d5f mv join to runtime Utils
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9477]
2011-11-27 14:28:59 -08:00
parrt d9a499f8f7 got left-recur java grammar working w/o generics
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9474]
2011-11-26 14:23:57 -08:00
parrt 00365ac511 add test
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9472]
2011-11-26 13:24:10 -08:00
parrt 21e9f67927 rm print
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9471]
2011-11-26 13:07:08 -08:00
parrt c2145a4120 didn't store parser::members in combined grammar
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9470]
2011-11-26 13:04:15 -08:00
parrt bb73ad341b tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9469]
2011-11-26 12:48:57 -08:00
parrt 36a7597bcf adding left-recursive parser
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9467]
2011-11-26 11:05:02 -08:00
parrt b83da61f52 Left EPSILON in expected set; rm'd
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9466]
2011-11-26 11:02:45 -08:00
parrt a81ab4cc64 rm more invalid options
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9464]
2011-11-26 10:46:54 -08:00
parrt 2c52166dd0 removing sync() in front of (...) and (...)?
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9460]
2011-11-25 16:24:40 -08:00
parrt d2b24da47f remove incidentTransition from ATNState, add computation for next tokens within rule, add nextTokenWithinRule to ATNState, add EPSILON as -2 token type
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9459]
2011-11-25 16:09:00 -08:00
parrt c69814515b add unit tests for remove()
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9457]
2011-11-25 14:26:54 -08:00
parrt 06b27b8244 added stub for ID*[','] if we want that syntax
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9455]
2011-11-25 12:13:29 -08:00
parrt 3b543098aa refactor grammar transform pipeline
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9454]
2011-11-25 11:55:13 -08:00
parrt 5dfc4aed1d add on-the-fly listeners; augment enter/exit rule, consume(). playground/U.g and MyUListener.java are test. added human-readable toInfoString to ParserRuleContext such as
RuleParserRuleContext[s, a]{altNum=0, start=[@0,0:0='a',<6>,1:0], stop=null, st=null}

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9453]
2011-11-25 10:38:36 -08:00
sharwell 7a52d4e304 Back out changelist 9448
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9449]
2011-11-23 12:25:06 -08:00
sharwell 898138a5e2 v4: Reusable ATN simulator objects
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9448]
2011-11-23 06:42:31 -08:00
parrt d0230aba5b rm legacy options from grammar, rule, block
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9444]
2011-11-22 18:23:08 -08:00
sharwell ec5593709e v4: Specify generic types
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9443]
2011-11-22 16:48:32 -08:00
parrt 2b36a19739 rm Rule.scope field. not doing scope {...} anymore
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9442]
2011-11-22 16:48:20 -08:00
sharwell 83e5e3fe7f v4: Mark @Override for generated action and sempred methods. Don't emit the DEFAULT_MODE constant in lexers because it's already defined in Lexer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9440]
2011-11-22 16:46:27 -08:00
sharwell 1495ba5bd7 v4: use getInterpreter() instead of directly accessing the _interp field
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9437]
2011-11-22 16:33:19 -08:00
parrt 72684907bc add -Xlog, add .ctx to rule refs. parse tree test pass.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9436]
2011-11-22 16:30:50 -08:00
parrt 95f3afa562 rm ANTLRStringStream. combined with ANTLRInputStream. causes name change in lots of files. rm encoding ability.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9435]
2011-11-22 15:50:19 -08:00
sharwell ed12c072e9 v4: Update BaseTest with @Override annotations, remove obsolete rewind methods, and use List<T> instead of List
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9432]
2011-11-22 15:37:12 -08:00
sharwell 09ad4bcb0a v4: Remove dependency on v3 tool (still depends on v3 runtime)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9431]
2011-11-22 15:32:53 -08:00
parrt cfecf4b109 add CANNOT_FIND_ATTRIBUTE_NAME_IN_DECL
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9429]
2011-11-22 15:26:41 -08:00
parrt 7d5c69842b BufferedTokenStream gets generic type. CommonTokenStream extends BufferedTokenStream<CommonToken>, rename unbuff'd stream. add unbuff token stream
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9428]
2011-11-22 15:21:09 -08:00
parrt 0d691db980 added uniq error codes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9426]
2011-11-22 14:29:06 -08:00
parrt 31c24292cd unbuff char stream working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9425]
2011-11-22 12:32:15 -08:00
parrt f3b0ffb8b2 almost working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9423]
2011-11-21 17:55:39 -08:00
parrt dcedc63dec added missing error msg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9422]
2011-11-21 17:22:21 -08:00
parrt 0fe415e227 checking in but doesn't work yet; just so i can pull at work
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9421]
2011-11-20 16:07:45 -08:00
parrt 9f294794a8 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9414]
2011-11-20 14:33:48 -08:00
parrt 4b4a7d9c7a add LogManager, add InputSymbolType()
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9413]
2011-11-20 14:27:58 -08:00
parrt 18e8a853e7 rm prints, add log mgr to runtime (in case we need it there for profiling/testing etc...)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9412]
2011-11-19 18:53:37 -08:00
parrt 01a71c5b02 fixing a lot of little thingsTo make my examples work
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9410]
2011-11-19 17:27:19 -08:00
sharwell beb4386fd0 v4: Fix BlankListenerFile (these files should be part of CL9408)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9409]
2011-11-19 15:32:40 -08:00
sharwell 426d96c3b8 v4: Fix the BlankListenerFile template
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9408]
2011-11-19 15:04:26 -08:00
parrt 140f0fc098 visitTerminal had extra <> so it was <Token> arg type
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9407]
2011-11-19 13:50:22 -08:00
parrt b61603e98a A rename of TSymbol->Symbol and a few of T to Symbol. Also changed name of the default error handler
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9406]
2011-11-19 13:44:53 -08:00
parrt 20f86b8018 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9402]
2011-11-19 12:53:34 -08:00
sharwell 7774405ee3 v4: Can't use the @NotNull and @Nullable from com.sun.istack.internal. Adding our own until we settle on a final library.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9394]
2011-11-18 22:48:08 -08:00
sharwell 9e89438556 v4: specify tokenVocab to fix unit test
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9391]
2011-11-18 11:34:49 -08:00
sharwell 5e1b372ca1 v4: fix generated attribute name for wildcards (_track__wild instead of _track_.)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9390]
2011-11-18 11:33:45 -08:00
sharwell ca141afc28 v4: @NotNull and @Nullable annotations for fields and methods
mark fields final
no behavior changes

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9389]
2011-11-18 11:29:58 -08:00
sharwell 909ea67d6b v4: support disabling the inlined LL1 code generation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9387]
2011-11-18 11:20:38 -08:00
sharwell 6060b6c288 v4: visitToken->visitTerminal
TokenNode->TerminalNode

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9384]
2011-11-17 20:09:24 -08:00
sharwell c12167974b v4: fix several unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9383]
2011-11-17 19:48:16 -08:00
sharwell 3e279fbd3e v4: Update BaseTest harness for changes to the runtime
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9382]
2011-11-17 19:46:29 -08:00
sharwell 65f8b9f124 v4: Add TSymbol generic type parameter to Recognizer, BaseRecognizer, ParserATNSimulator, ParserRuleContext, ParseTreeListener, ANTLRErrorStrategy, ANTLRErrorListener, TreeParserRuleContext
Move ParserRuleContext.tree/getTree to the generated contexts, implement ASTContext<T> for strongly typed getTree() method

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9379]
2011-11-17 19:40:48 -08:00
sharwell 89b1d52c77 v4: add error for isolated rule refs
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9355]
2011-11-17 18:25:13 -08:00
sharwell 08d47088b4 v4: Fix NPE when creating Action elements within an extension
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9354]
2011-11-17 18:24:44 -08:00
sharwell b27441346b v4: Specify concrete value for TreeParser<T> base class
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9352]
2011-11-17 18:16:55 -08:00
sharwell b1a060a61e v4: refactor ASTLabelType() and TokenLabelType() to new templates that properly handle null values
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9351]
2011-11-17 18:15:27 -08:00
sharwell 0fb5baca1c v4: specify default Parser and TreeParser superclass in the code generation template
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9350]
2011-11-17 18:12:28 -08:00
sharwell 7e6eb1fda4 v4: fix possible NPE
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9349]
2011-11-17 18:06:17 -08:00
sharwell dd0d5e3ed5 v4: add support for custom interfaces and extension members StructDecl
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9348]
2011-11-17 18:05:41 -08:00
sharwell 32976eefdb v4: check for invalid block and rule options
fix error for hetero AST usage outside of rewrite in alts with rewrites

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9347]
2011-11-17 17:00:23 -08:00
sharwell 062210b54a v4: check for labels that alias a token name
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9346]
2011-11-17 17:00:08 -08:00
parrt d597de1792 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9311]
2011-11-13 18:26:27 -08:00
parrt 27cbd249ac Added lots of little stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9310]
2011-11-13 18:04:35 -08:00
parrt 324884585b add slider
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9306]
2011-11-13 11:35:11 -08:00
parrt 7050d07d5b tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9304]
2011-11-12 13:19:49 -08:00
parrt e6d316f3e9 added {...} as option value. <fail={"value must be <= "+$max}>
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9303]
2011-11-12 12:47:11 -08:00
parrt 91ccd76e65 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9302]
2011-11-10 14:22:58 -08:00
parrt 3729529f25 msg->fail
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9301]
2011-11-10 14:09:28 -08:00
parrt 61e9eade6a added {...}?<msg="foo"> option
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9300]
2011-11-10 14:08:16 -08:00
parrt 1cd3bacaf2 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9289]
2011-11-10 12:30:12 -08:00
parrt b6d8ff9234 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9286]
2011-11-10 12:16:28 -08:00