Commit Graph

439 Commits

Author SHA1 Message Date
parrt 3b51bb478d rm unneeded field
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9761]
2011-12-27 15:52:47 -08:00
parrt d01bde9125 added new reportAttemptingFullContext to strategy
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9760]
2011-12-27 15:25:01 -08:00
parrt bb960e3c37 improved data to report insuff. preds. also, it was detecting it improperly
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9758]
2011-12-27 14:11:41 -08:00
parrt 638969bed9 add '...' to diagnostics input
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9757]
2011-12-27 13:37:47 -08:00
parrt c1e199d77f added -tokens flag
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9756]
2011-12-26 18:10:29 -08:00
parrt bf8473e0fd add cmt
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9755]
2011-12-26 17:57:00 -08:00
parrt ce9638e59c was still creating dfa with sempreds
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9752]
2011-12-26 17:07:45 -08:00
parrt c1923a107e -tree => -print option
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9748]
2011-12-26 14:05:58 -08:00
parrt db655f8f2c add -gui option to view in gui window
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9747]
2011-12-26 13:06:05 -08:00
parrt 5c50e5f049 Wasn't using Udo's lib correctly
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9746]
2011-12-26 13:05:46 -08:00
parrt c6bde7e1e8 -ps arg wrong
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9745]
2011-12-26 11:13:46 -08:00
parrt adb91a9bde rm print
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9744]
2011-12-26 11:10:30 -08:00
parrt 494f519b05 add java org.antlr.v4.runtime.misc.TestRig GrammarName startRuleName [-tree | -ps file.ps] [input-filename]
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9743]
2011-12-26 11:03:51 -08:00
parrt 6daa66f83f no more resolved bit in config. use ATNConfigSet all over. final clean up of ATN sim.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9741]
2011-12-25 12:01:24 -08:00
sharwell 79d1c40427 Integrate CL9648 to main (getAncestors returns Collections.emptyList() instead of null)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9649]
2011-12-17 11:42:26 -08:00
sharwell c59cf36f88 Integrate CL9646 to main (fix forward seek)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9647]
2011-12-17 09:51:18 -08:00
parrt 6b673a3b2e track stats properly
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9643]
2011-12-16 16:00:11 -08:00
parrt ebd1fbb63d within 2 or 3 unit test of where I was before I got it the ATN simulator
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9642]
2011-12-16 15:07:28 -08:00
parrt 3d133e9417 broke out fullctx tests, some fixes.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9636]
2011-12-16 09:43:29 -08:00
parrt 1e8548297e mv comment over and make sure that the tree parsers use the new ATN engine
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9635]
2011-12-15 16:14:49 -08:00
parrt 5ad1505fdb almost got new ATN engine working; separated .* nongreedy tests, reorg args on reporting methods
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9627]
2011-12-15 11:03:41 -08:00
sharwell fa3483a7fc Merge CL9619 to main (fix CommonTokenStream.seek)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9620]
2011-12-15 07:27:52 -08:00
parrt 92279bd6db almost got prediction working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9600]
2011-12-13 18:10:04 -08:00
parrt 8d73f53775 check in start of new ATN sim engine; rm traversedPred in DFAState.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9598]
2011-12-13 14:38:30 -08:00
parrt 8f7fb98e16 added big comments
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9565]
2011-12-12 16:33:10 -08:00
parrt b9afdf6e07 rename var; add missing return
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9564]
2011-12-11 14:45:25 -08:00
parrt 3fb7466a80 another big reorg and fixed unit test. lots more sharing and splitting into methods; same 21/807 tests fail; java works.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9563]
2011-12-11 14:34:32 -08:00
parrt 8615fc26da rm dead code
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9562]
2011-12-11 13:03:34 -08:00
parrt 18ff004d83 playing; nop
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9560]
2011-12-11 12:29:27 -08:00
parrt d372d761d5 interim refactoring. much smaller execATN; removed prevAccept fields. useless.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9559]
2011-12-11 12:09:29 -08:00
parrt c3630843d2 add convenience method
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9558]
2011-12-11 11:23:42 -08:00
parrt 1923242b37 clean up comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9553]
2011-12-10 18:54:52 -08:00
parrt b89d7c0932 rm dead code
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9552]
2011-12-10 18:51:46 -08:00
parrt 12aa6c2404 fix unit tests, bug in collecting preds and testing in DFA state
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9550]
2011-12-10 17:28:17 -08:00
parrt b1c7edb8d8 moved empty context chk for retry
altered args on reporting methods
reporting methods moved from parser to error strategy
fixed full ctx retry in DFA (used to only work in ATN)
i record conflictSet not just boolean in DFA
added debugging support to BaseRecognizer
added DiagnosticErrorStrategy

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9549]
2011-12-10 16:24:41 -08:00
parrt b682450e29 add clone()
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9548]
2011-12-10 15:43:06 -08:00
parrt 131e9f7686 added comments, working on parser interpreter (not prediction) reorg. adding ParserInterpreter. adding unit tests.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9546]
2011-12-09 16:35:21 -08:00
parrt 63168c5577 added more dbg prints, turned on context sensitivity in test java lr.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9545]
2011-12-07 17:47:08 -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
parrt 28696fe2ff add toSet()
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9540]
2011-12-06 15:58:47 -08:00
parrt cc00494e9d add null chk
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9535]
2011-12-06 11:41:08 -08:00
parrt 27aca5a66e rm prints
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9533]
2011-12-06 11:24: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 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 110fafde5a change name
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9524]
2011-12-04 16:02:40 -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 2b8a821c21 turn off dbg print
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9517]
2011-12-03 14:16:47 -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
parrt cabe808c7f trivial change, gets small speed bump
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9514]
2011-12-02 12:22:35 -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 4d942c37c8 use RuleContext not ParserRuleContext during prediction
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9510]
2011-12-01 14:24:57 -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 b6b4583b92 let it build DFA again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9505]
2011-11-30 18:31:20 -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
Udo Borkowski 1bc3997930 add "useCurvedEdges" feature
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9502]
2011-11-30 17:10:46 -08:00
Udo Borkowski ef57f44240 add "useCurvedEdges" feature
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9501]
2011-11-30 16:12:35 -08:00
sharwell 8c3e8272d8 v4: System.out.format instead of System.out.println
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9496]
2011-11-30 08:50:25 -08:00
sharwell 583668746f v4: Optimize ATNState.onlyHasEpsilonTransitions (5-15% improvement during warmup)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9495]
2011-11-30 08:42:54 -08:00
sharwell 8096b3b4c4 v4: Check for early return conditions during DFA updates
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9494]
2011-11-30 07:05:38 -08:00
sharwell 83a5f592d0 v4: Convert do{...}while(true) to while(true){...}
Use CharStream.EOF instead of Token.EOF when referencing results of CharStream.LA

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9493]
2011-11-30 07:03:40 -08:00
sharwell befd9ba483 v4: Combine calls to Set.contains and Set.add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9492]
2011-11-30 06:32:33 -08:00
sharwell 2bbb1ca132 v4: Fix Parser.reset (side effect fixes Parser.setInputStream)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9491]
2011-11-29 20:25:51 -08:00
sharwell 1be2e2c556 v4: Initial tracing support in the lexer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9490]
2011-11-29 20:13:06 -08:00
sharwell fb3de170d1 v4: Add BaseRecognizer.isExpectedToken - *massive* performance improvement in DefaultErrorStrategy.sync()
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9489]
2011-11-29 19:43:33 -08:00
sharwell 07bbf42f8b v4: Add <?> to generic instance
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9488]
2011-11-29 19:31:25 -08:00
sharwell 99cf07cc3c v4: check for null
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9487]
2011-11-29 19:01:35 -08:00
sharwell a71a9f04ea v4: check for null before evaluating sempreds in the lexer (issue a warning if no recognizer is available for evaluation)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9486]
2011-11-29 18:59:32 -08:00
sharwell c25f3ff3d8 Add type parameter to BailErrorStrategy since the class may safely be used with any type of recognizer
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9485]
2011-11-29 17:50:03 -08:00
parrt 2243cc2e81 wasn't seeing thru some preds.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9484]
2011-11-29 17:31:18 -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
Udo Borkowski 4e30119ab6 fix various issues in TreeViewer
1) Issue: The tree "jumps" from a larger scale to a much smaller scale when starting dragging the scale slider.

Cause: Initially the slider was not correctly positioned. It always assumed a scale of 1. 

Solution: I now calculate the initial slider position using the current scale (was 1.5).

---

2) Issue: NullPointerException when the scale slider is dragged to the very left.

Cause: The formula "v / 1000.0 + 1.0" results in a scale of 0.0 when using -1000 (left position). A scale of 0 is not supported.

Solution: in setScale I now check for "<= 0.0". In the case I use scale 1. In addition I changed the lower bound of the slider to -999, i.e. the left position represents the scale "0.001".

---

3) Issue: when scaling the scrollbars are not added/updated/removed

Cause: when scaling the preferred size of the TreeViewer must be updated as the ScrollPane refers to the preferredSize for scrolling.

Solution: now calling "updatePreferredSize" in setScale. This will set the preferred size to the "scaled tree size". It also ensures parents will be notified and the view is repainted.

---

4) Issue: only an upper left part of the tree is painted.

Cause: the TreeViewer overwrote the getWidth/Height and returned unchanged values (800x600). Only this area in painted. If the preferred size exceeded this size the remaining area was not painted.

Solution: Removed the overwrite of getWidth/Height. As one consequence the dialog will start at maximum size for large tree layouts.

[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9481]
2011-11-29 07:40:09 -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 eb6443b32b add TODO
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9478]
2011-11-27 14:39: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
sharwell fc2b4cad07 v4: Call mark() from match instead of matchATN
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9476]
2011-11-27 13:45:36 -08:00
parrt c0262d569b pull v3 pred ctx tree stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9475]
2011-11-26 20:57:20 -08:00
parrt dc4ce0cd16 update cmt in ctx and make out of ctx preds see through
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9473]
2011-11-26 14:19:03 -08:00
parrt 181611da94 rounded line edges, no border if color==null; 1.0.1 abego
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9468]
2011-11-26 11:28:50 -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 9b924d0348 fix toString for EPS
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9465]
2011-11-26 11:00:38 -08:00
parrt a6be7ddb9c fixed enter/exit. "every" done first/last now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9463]
2011-11-26 10:27:01 -08:00
parrt 30d89abc4a rm type param
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9462]
2011-11-25 18:16:46 -08:00
parrt fe1691da78 update comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9461]
2011-11-25 16:25:30 -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 6898dc6f5e add readonly bit to sets
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9458]
2011-11-25 14:39:05 -08:00
parrt d35560583c add remove() to IntervalSet
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9456]
2011-11-25 14:25:08 -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
parrt 4af8a7ac61 rm bad comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9452]
2011-11-25 10:00:02 -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
sharwell 89ebd369f9 v4: @Override annotations, update equals to check parameter type
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9447]
2011-11-23 06:41:45 -08:00
sharwell ed7377dfd4 v4: remove TODO - situation was already addressed
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9446]
2011-11-23 06:31:08 -08:00
parrt bf1e306bae rm commented out code
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9445]
2011-11-22 18:29:14 -08:00