Commit Graph

1066 Commits

Author SHA1 Message Date
parrt c1aa0fcd10 New parse tree mechanism
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9037]
2011-09-03 09:18:26 -08:00
parrt 104f39acde working on parse trees
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9036]
2011-09-02 17:15:36 -08:00
parrt 7aad57fe49 add
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9035]
2011-09-02 16:18:25 -08:00
parrt 62549b65bf add dbg classes. add mark/rewind
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9034]
2011-09-02 16:17:37 -08:00
parrt 085dd05bf1 got parser nongreedy loops going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9032]
2011-08-12 19:51:12 -08:00
parrt f44c49a8b8 got lexer nongreedy loops going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 9018]
2011-08-07 11:19:34 -08:00
parrt d926ec9661 WOOT! all left-recursive tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8972]
2011-07-31 18:14:47 -08:00
parrt ec5d74c83e removed all traces of FORCED_ACTION
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8971]
2011-07-31 12:36:07 -08:00
parrt a7f2bc31ac ok, got new simple semantics in for sempreds; no forced actions and preds always eval unless ctx dependent, in which case they need to bein original rule.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8970]
2011-07-31 11:58:59 -08:00
parrt 328444244f backing out changes; tried 2 stacks; too complicated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8969]
2011-07-31 10:38:48 -08:00
parrt d2651a50a6 backing out changes; tried 2 stacks; too complicated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8968]
2011-07-31 10:38:23 -08:00
parrt e32bae3276 rebuilt ATN structure for ()* and ()+; two decisions each now unless single alt.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8966]
2011-07-30 17:20:57 -08:00
parrt 64e12dbfa5 add method
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8961]
2011-07-30 11:49:49 -08:00
parrt b90b073450 getting more unit tests in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8924]
2011-07-29 14:05:19 -08:00
parrt 4b5cd3a9ba We're forced to exec args, even if dependent on _localctx. If no actual context to use, create dummy context to use for arg eval only.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8922]
2011-07-29 11:45:27 -08:00
parrt dcfb804ed3 added method to get context for non-arg rules
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8921]
2011-07-28 19:36:56 -08:00
parrt cce6c70b2e fixed context in sempred. don't exec forced actions either if in outer context and dependent.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8920]
2011-07-28 15:15:41 -08:00
parrt 3d15daccad got predicate issue resolved. executes preds if not dependent on context and no dipping into outer context
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8919]
2011-07-28 12:43:28 -08:00
parrt 10d7a79324 reorg; cleanup. added ast.g ptr setting to nodes created during left-recursion elim.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8915]
2011-07-27 17:03:54 -08:00
parrt 2136287966 tweak
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8911]
2011-07-27 15:55:30 -08:00
parrt 078e2ab47c java.g working again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8910]
2011-07-26 10:56:24 -08:00
parrt fd3f8b17c9 ~sets weren't working; got closer to java.g working again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8909]
2011-07-25 18:09:00 -08:00
parrt c6fa2fce6e decided to clean up a bit, backtracking from updating current to have inner/outer context. will try with full ctx again.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8908]
2011-07-25 16:49:33 -08:00
parrt a29feac1bf a bit of clean up
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8906]
2011-07-24 16:18:21 -08:00
parrt 613c802c8c rm dead code
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8905]
2011-07-24 15:26:52 -08:00
parrt b4b02bb813 cleaned up atn construction / set detection / unit tests. still not done full context in parser simulation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8904]
2011-07-24 15:25:17 -08:00
parrt 1fcc12a7ad changes to ATN simulator just before I try adding context back in.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8903]
2011-07-24 13:20:49 -08:00
parrt 66da1f723a got unit tests working again for interp; got args funcs in output
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8902]
2011-07-24 11:48:43 -08:00
parrt 3b52eb4e6a snapshot
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8899]
2011-07-22 17:19:26 -08:00
parrt 40f9e867cd 23 import grammar unit tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8896]
2011-07-20 18:55:23 -08:00
parrt 5ffe679514 part of rename
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8870]
2011-07-16 15:47:01 -08:00
parrt 90a4bd9c41 rename
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8869]
2011-07-16 15:46:08 -08:00
parrt c3f5bbed37 wasn't chked out
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8868]
2011-07-16 15:45:20 -08:00
parrt 7a109d29d5 added a LexerInterpreter and copied in unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8867]
2011-07-16 12:57:25 -08:00
parrt b9ef4f9bee woot! new visitor does away with BasicSemanticTriggers.g and Refs.g
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8861]
2011-07-14 19:25:08 -08:00
parrt 42f6b7cf86 after much bullshit, got sets working for ast stuff.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8855]
2011-07-13 17:29:20 -08:00
parrt 1dc598c26e got lots more rewrite ast done including predicates
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8850]
2011-07-10 17:07:07 -08:00
parrt f8abf5d40b A B+ -> ^(A B)* works! fixed ant build
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8838]
2011-07-06 13:42:35 -08:00
parrt 07161bffe7 major reorg to get rewrites in there
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8821]
2011-07-02 16:04:56 -08:00
parrt 919e3a1c06 Small optimization
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8820]
2011-07-02 11:28:30 -08:00
parrt ab8d07d82f got started on rewrite stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8817]
2011-07-01 14:01:53 -08:00
parrt b9daa3763c using old ast op code from v3. works fine.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8812]
2011-06-30 12:11:32 -08:00
parrt 1775feffdb update copyright
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8798]
2011-06-29 11:22:17 -08:00
parrt 9da8639ba8 got AST construction ops working it seems.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8797]
2011-06-29 10:42:23 -08:00
parrt 68cef48483 cleaned up; mv'd stuff to parser. reorg to have lexer in controller
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8794]
2011-06-28 17:51:39 -08:00
parrt 15fbaccb6d reorg to get walking of rules out of default factory into controller
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8790]
2011-06-28 15:18:39 -08:00
parrt 1510686b02 runtime no longer depends on tool module
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8787]
2011-06-28 11:51:21 -08:00
parrt 87c727e91f change rule to ruleIndex in Rule; tests pass
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8786]
2011-06-28 11:37:45 -08:00
parrt 9bc02bfd33 no tool depends now in ATN, moved some maps to arrays :)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8779]
2011-06-27 18:46:21 -08:00
parrt 4d04b21999 removed Rule depend from ATN
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8778]
2011-06-27 17:53:11 -08:00
parrt ad98d17191 snapshot; removed some dependencies to tool in runtime; made sure java grammar / parser still works
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8777]
2011-06-27 17:38:15 -08:00
parrt 046b469f8e got all locals into return struct. all vars are visible to invoked rules via $rule::attr now.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8757]
2011-06-23 17:29:51 -08:00
parrt d8edb713ed initial wack at args/return value object
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8743]
2011-06-22 18:04:29 -08:00
parrt c607e66f1a added demo target X.stg
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8729]
2011-06-22 15:03:47 -08:00
parrt 4e3fd8446d removed state stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8726]
2011-06-22 14:45:28 -08:00
parrt 315944694f mv file
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8688]
2011-06-20 17:54:54 -08:00
parrt d6e4d5fb42 fix from 3.4
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8671]
2011-06-19 12:26:08 -08:00
parrt 1d6ce54816 tweak token consts.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8668]
2011-06-18 15:08:43 -08:00
parrt da633613a7 all rule indexes are 0-based now; 0..n-1 not 1..n
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8667]
2011-06-18 15:06:49 -08:00
parrt bd5df8ed53 ok, working on java again...same functionality as antlr-rewrite dir. ready to move forward
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8664]
2011-06-18 11:10:03 -08:00
parrt 1a17eb3be1 get to compile
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8662]
2011-06-18 10:35:31 -08:00
parrt 1a43396d3b adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8660]
2011-06-17 16:07:39 -08:00
parrt 061fff09f9 adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8659]
2011-06-17 16:05:00 -08:00
parrt 2ddeb7c769 adding new files
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8658]
2011-06-17 15:42:21 -08:00
parrt 55f384237b add initial antlr4 files (mainly runtime)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 8636]
2011-06-14 16:22:05 -08:00
parrt 36fb229434 Rename/move file(s) from old antlr4 to antlr-rewrite; that's not antlr4 anymore
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 7912]
2011-03-26 11:33:02 -08:00
parrt 4b71c478c1 huge update; preds in lexers
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6911]
2010-06-15 14:06:56 -08:00
parrt c18898a917 PDA for lexers are too slow; working DFA back in. DFA construction was nondeterministic due to sets not ordered sets.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6909]
2010-06-10 15:24:09 -08:00
parrt a017bb8feb NOT eval was messed up; handles java lexer now (slowly)
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6905]
2010-06-08 16:34:07 -08:00
parrt 98bddc4446 got unicode and escape sequences into literals for bytecodes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6904]
2010-06-08 11:49:31 -08:00
parrt b9a5cf8691 range16 was hosed; got java lexer working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6903]
2010-06-05 16:15:20 -08:00
parrt de380d2fd1 got DFA interp working from parser grammar + unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6902]
2010-05-28 12:17:17 -08:00
parrt 19aecd3163 added NOT/SET ops, refactored PDA generation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6900]
2010-05-27 16:01:55 -08:00
parrt acf962bc28 initial DFA -> PDA compilation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6899]
2010-05-26 17:34:28 -08:00
parrt 3fe028ecc4 got mode methods in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6896]
2010-05-26 13:08:20 -08:00
parrt ca8ea6feea hacking with Oliver Z. Lots of fixes to code gen and sync/error handling/mode stuff.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6894]
2010-05-25 15:54:31 -08:00
parrt f89ad35e1b fix clone in bit set
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6888]
2010-05-23 16:53:06 -08:00
parrt 8ee1042f03 added start rule; fixed error recovery set stuff
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6887]
2010-05-23 16:41:44 -08:00
parrt eaaa98bde9 got sync in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6883]
2010-05-22 12:23:36 -08:00
parrt 03d9f0ba32 Got rid of the fields listed in the output model object hierarchy; created the exception throwing templates
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6882]
2010-05-22 10:27:11 -08:00
parrt bf92a4bc73 updated errors to be listener
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6881]
2010-05-21 17:25:15 -08:00
parrt b315dd4ae4 reorg snapshot; separate LexerSharedState; pass ctx as arg to funcctions
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6874]
2010-05-18 14:10:31 -08:00
parrt e1ccf08680 Implemented token vocab option
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6873]
2010-05-17 15:10:53 -08:00
parrt 118d225066 got actions into lexer; reorg'd
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6872]
2010-05-17 13:28:04 -08:00
parrt f5cc4efc1b got basic lexers generated
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6871]
2010-05-16 15:00:56 -08:00
parrt 563de77ec4 move exceptions over from v3 runtime. add bitset defs..
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6869]
2010-05-16 12:14:05 -08:00
parrt 5a1607e884 merged args/retvals into one object
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6867]
2010-05-14 14:22:04 -08:00
parrt 161dd26006 got rule scope going
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6866]
2010-05-13 18:10:13 -08:00
parrt 62aa952f34 optimization: don't add intermediate closure addrs to closure; we ignore them during reach anyway. saves time/space.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6840]
2010-05-05 11:22:22 -08:00
parrt 27d9f25ec2 simplified label computation
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6839]
2010-05-04 12:04:49 -08:00
parrt b0ca11f46b got sempreds in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6838]
2010-05-04 11:17:29 -08:00
parrt e6d65be27b rewinds now and does with feeling for actions in rules
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6837]
2010-05-03 17:02:47 -08:00
parrt cf7a730b31 reworked how i assign label indexes
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6836]
2010-05-03 16:14:20 -08:00
parrt 9c03c08ba0 added comment
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6835]
2010-05-02 17:16:14 -08:00
parrt 689687f0ed reorg so instrs in separate package. added label/save; added code gen at least for actions/sempred.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6834]
2010-05-02 17:11:30 -08:00
parrt 61603d18a9 more tests, fixes ANTLR-189. recursion works; rewinds properly.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6833]
2010-05-01 13:48:25 -08:00
parrt 16ad680adb recursive calls work
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6832]
2010-05-01 13:23:08 -08:00
parrt f6f444db52 got QID calling ID working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6831]
2010-05-01 13:10:49 -08:00
parrt f3e6d4644d got INT calls DIGIT working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6830]
2010-05-01 12:46:47 -08:00
parrt 9dbc6a43fd added exec version that handles stack and new ThreadState / context. unit tests
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6829]
2010-05-01 11:38:18 -08:00
parrt 541350bbe3 handles nongreedy + and * loops. rewinds properly to last good accept if we kept going and failed.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6828]
2010-04-30 17:37:07 -08:00
parrt 6b55114dd0 got it to kill all addrs within a rule once we hit its accept state; needed for nongreedy loops.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6827]
2010-04-30 16:54:38 -08:00
parrt 43278cf701 added SAVE, WILDCARD
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6826]
2010-04-30 14:21:00 -08:00
parrt 7cf42fe4dd reorg a bit
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6825]
2010-04-30 13:54:10 -08:00
parrt a576c16905 got thompson's working it seems
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6823]
2010-04-29 17:33:29 -08:00
parrt 0516292911 got basic NFA code gen and interp working
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6822]
2010-04-29 11:37:11 -08:00
parrt 3015778202 added in NFA VM prototype
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6820]
2010-04-22 13:07:16 -08:00
parrt 309cb6d623 add missing
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6739]
2010-03-07 11:21:56 -08:00
parrt d7bda19fd1 more work on NFA
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6735]
2010-03-04 15:56:47 -08:00
parrt e38535a9bc got attribute checks done
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6693]
2010-02-15 12:55:04 -08:00
parrt b3f7c8e3cc got more symbol resolution in
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6687]
2010-02-11 13:57:38 -08:00
parrt e825a77466 made listener for action splitter
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6686]
2010-02-11 11:17:29 -08:00
parrt 795df39aaa finished LABEL_TYPE_CONFLICT
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6676]
2010-02-07 15:22:46 -08:00
parrt 09eb3b5753 split AST for combined grammar into two, copying to lexer grammar.
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6669]
2010-02-06 14:58:26 -08:00
parrt d81ae7478d refactored. checking for illegal token ref
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6646]
2010-01-31 17:02:41 -08:00
parrt f04dab7b83 got error message stuff in better shape. started semantics pipeline
[git-p4: depot-paths = "//depot/code/antlr4/main/": change = 6631]
2010-01-30 14:30:02 -08:00