Commit Graph

2456 Commits

Author SHA1 Message Date
David Sisson fccf0b4036 Now outputs headers a bit as well as code. 2015-06-30 17:17:34 -07:00
David Sisson 363b640949 Now actually generates some Java-ish looking code with the following command:
LOCATION=~/GitHub/antlr4cpp/antlr4/dist/antlr-4.1.1-dev-complete.jar
java -classpath $LOCATION -jar $LOCATION -Dlanguage=Cpp T.g4
2015-06-28 12:34:47 -07:00
David Sisson 095fe36b66 Updated list of reserved keywords in C++. 2015-06-27 10:09:01 -07:00
David Sisson 0989a7d242 Added initial CppTarget so we can start trying to generate data. Does not yet have support for C++ header files (or really anything). Expect Java-like code. 2015-06-27 09:38:55 -07:00
Terence Parr 6f48625618 Merge pull request #380 from parrt/master
get last not first when get() finds multiple matching nodes.
2013-12-20 12:48:23 -08:00
Terence Parr 2d7b0b4178 intellij git missed these files 2013-12-20 12:47:58 -08:00
Terence Parr 6b2817f8bb get last not first when get() finds multiple matching nodes. 2013-12-20 12:47:19 -08:00
Terence Parr 64d10cd52f Merge pull request #379 from parrt/master
update change list
2013-12-20 12:37:33 -08:00
Terence Parr 2ff3bb6f52 update change list 2013-12-20 12:37:08 -08:00
Terence Parr 8c5d088eb7 Merge pull request #378 from sharwell/polish
Tree patterns polish
2013-12-19 17:24:42 -08:00
Terence Parr 74f9745265 Merge pull request #377 from sharwell/atn-serializer
ATN serializer
2013-12-19 17:16:20 -08:00
Sam Harwell a2ba59d0ac Use ATNDeserializer methods instead of deprecated ATNSimulator methods 2013-12-19 19:07:25 -06:00
Sam Harwell fb1880d82c Move ATNSerializer to runtime 2013-12-19 19:07:24 -06:00
Sam Harwell bc59f30857 Use ATNDeserializer methods instead of deprecated ATNSimulator methods 2013-12-19 19:07:23 -06:00
Sam Harwell 7f15889d92 Make utility methods in ATNDeserializer static 2013-12-19 19:07:22 -06:00
Sam Harwell 5710eff8f8 Fix small warnings in XPath 2013-12-19 19:06:24 -06:00
Sam Harwell 8449b9258f Updated documentation and API encapsulation for tree patterns 2013-12-19 19:06:23 -06:00
Sam Harwell 40bbd66231 Updated documentation for Token and TokenSource 2013-12-19 19:06:22 -06:00
Sam Harwell 2a9a716c53 Remove unnecessary methods ParseTreeMatch.getText() and failed() (use getTree().getText() and !succeeded() instead) 2013-12-19 19:06:22 -06:00
Sam Harwell 72675075cf Remove unnecessary testing constructor 2013-12-19 19:06:21 -06:00
Sam Harwell 45fd53bf2c Remove unused method Lexer.nextTokenOrRuleToken 2013-12-19 19:06:20 -06:00
Sam Harwell 75b8174dc8 Clean up the result caching for getTokenTypeMap and getRuleIndexMap 2013-12-19 19:06:20 -06:00
Sam Harwell df61690758 Clean up the caching of ATN instances with bypass alternatives 2013-12-19 19:06:19 -06:00
Terence Parr 2618aa335a Merge pull request #376 from parrt/master
fix null pointer bug with rule "a : a;"
2013-12-19 16:37:43 -08:00
Terence Parr 9ca6bf9bd3 fix null pointer bug with rule "a : a;" 2013-12-19 16:35:37 -08:00
Terence Parr 4e8353dea4 Merge pull request #365 from parrt/master
convert toMap usage to parser method calls
2013-11-25 09:41:11 -08:00
Terence Parr 4b5cb78716 convert toMap usage to parser method calls 2013-11-25 09:40:05 -08:00
Terence Parr 0992aa856d Merge pull request #362 from parrt/tree-patterns
Add tree patterns
2013-11-25 09:30:14 -08:00
Terence Parr bd91dc166d add getTokenTypeMap(), getRuleIndexMap() to recognizer. Gen new fields for that an ATN with bypass alts. Then methods for that: getATNWithBypassAlts(). Big changes to interface for ParseTreeMatch; create Parser.compileParseTreePattern() method. Convert rule names to rule indexes. 2013-11-24 14:04:46 -08:00
Terence Parr 4c52a103e1 cleanup 2013-11-22 11:31:59 -08:00
Terence Parr b2ec85d14d updated comments, cleaned up the API, made helper routines. 2013-11-22 11:08:16 -08:00
Terence Parr 168bce79d3 working on api 2013-11-22 09:55:40 -08:00
Terence Parr 49c4a5ec12 fix labeling, add comments 2013-11-21 16:37:57 -08:00
Terence Parr 4fdd520c2e got labels working 2013-11-21 16:01:02 -08:00
Terence Parr b02484b2f5 Merge branch 'master' into tree-patterns 2013-11-21 10:32:07 -08:00
Terence Parr 1e83557819 reorg to pass round a match object in matches_() 2013-11-21 10:30:37 -08:00
Terence Parr e836544d30 add test for hidden tokens 2013-11-21 09:55:26 -08:00
Terence Parr 4a46e1a679 rm dup code 2013-11-21 09:52:54 -08:00
Terence Parr 4cbe197a63 we can't use a lexer interpreter because it does not execute skip actions. I duplicate the lexer and use that 2013-11-21 09:50:16 -08:00
Terence Parr 1a2a45b434 Merge pull request #361 from parrt/master
ooops; these got deleted but now they are back.
2013-11-21 09:47:11 -08:00
Terence Parr 68b9a7b414 cleanup dead code 2013-11-21 09:35:18 -08:00
Terence Parr e68757717f pass a lexer and a parser to the tree pattern match or instead of the classes. 2013-11-21 09:32:45 -08:00
Terence Parr 599896cf1b throw exception not null 2013-11-21 09:02:53 -08:00
Terence Parr 33d11709df Revert "fix comment"
This reverts commit e8f577e162.
2013-11-21 08:42:28 -08:00
Terence Parr e8f577e162 fix comment 2013-11-21 08:42:02 -08:00
Terence Parr 40789babf5 got tree pattern matching working on my test cases using a parser interpreter not been generated parser to compile patterns like "<ID> = <expr>;". It uses Sam's alteration to the ATN to have bypass alternatives for <expr> tags. 2013-11-20 17:54:57 -08:00
Terence Parr 2394b38995 added state to be consistent with enterRule(); most importantly, we need to set the state when we enter a recursive rule, which we are not doing at the moment. This was not a problem before because we never could directly call a recursive rule and the outer rule set the current state. Now that we are using recursive rules as start rules, we need to set the state. 2013-11-20 17:53:51 -08:00
Terence Parr 2791dd5619 Merge branch 'master' into tree-patterns 2013-11-20 16:57:16 -08:00
Terence Parr 0a314ddd49 merge upstream 2013-11-20 16:56:38 -08:00
Terence Parr bf7b375bb0 Merge pull request #360 from parrt/master
mv to runtime. damn git! Seems that it might delete but not move files. hmm...
2013-11-20 16:55:37 -08:00