Skip to content

Commit

Permalink
Merge pull request #7 from parrt/factor-target
Browse files Browse the repository at this point in the history
factor common char encoding into main Target; version set to 4.4
  • Loading branch information
ericvergnaud committed Jul 5, 2014
2 parents 6339ee6 + 04535fc commit e86b623
Show file tree
Hide file tree
Showing 3 changed files with 48 additions and 199 deletions.
2 changes: 1 addition & 1 deletion src/antlr4/Recognizer.py
Original file line number Diff line number Diff line change
Expand Up @@ -43,7 +43,7 @@ def __init__(self):
self._stateNumber = -1

def checkVersion(self, toolVersion):
runtimeVersion = "4.4.0"
runtimeVersion = "4.4"
rv=runtimeVersion[0:max(runtimeVersion.rfind("."),runtimeVersion.rfind("-"))]
tv=toolVersion[0:max(toolVersion.rfind("."),toolVersion.rfind("-"))]
if not rv==tv:
Expand Down
193 changes: 0 additions & 193 deletions tool/src/org/antlr/v4/codegen/AbstractPythonTarget.java

This file was deleted.

52 changes: 47 additions & 5 deletions tool/src/org/antlr/v4/codegen/Python2Target.java
Original file line number Diff line number Diff line change
Expand Up @@ -30,16 +30,20 @@

package org.antlr.v4.codegen;

import org.antlr.v4.tool.ast.GrammarAST;
import org.stringtemplate.v4.STGroup;
import org.stringtemplate.v4.StringRenderer;

import java.util.Arrays;
import java.util.HashSet;
import java.util.Locale;
import java.util.Set;

/**
*
* @author Eric Vergnaud
*/
public class Python2Target extends AbstractPythonTarget {

public class Python2Target extends Target {
protected static final String[] python2Keywords = {
"abs", "all", "any", "apply", "as",
"bin", "bool", "buffer", "bytearray",
Expand Down Expand Up @@ -74,10 +78,50 @@ public Python2Target(CodeGenerator gen) {
super(gen, "Python2");
}

@Override
public int getSerializedATNSegmentLimit() {
// set to something stupid to avoid segmentation
return 2 ^ 31;
}

@Override
protected boolean visibleGrammarSymbolCausesIssueInGeneratedCode(GrammarAST idNode) {
return getBadWords().contains(idNode.getText());
}

@Override
protected STGroup loadTemplates() {
STGroup result = super.loadTemplates();
result.registerRenderer(String.class, new PythonStringRenderer(), true);
return result;
}

protected static class PythonStringRenderer extends StringRenderer {

@Override
public String toString(Object o, String formatString, Locale locale) {
return super.toString(o, formatString, locale);
}
}

@Override
public boolean wantsBaseListener() {
return false;
}

@Override
public boolean wantsBaseVisitor() {
return false;
}

@Override
public boolean supportsOverloadedMethods() {
return false;
}

@Override
public String getVersion() {
return "4.4.0";
return "4.4";
}

public Set<String> getBadWords() {
Expand All @@ -93,6 +137,4 @@ protected void addBadWords() {
badWords.add("rule");
badWords.add("parserRule");
}


}

0 comments on commit e86b623

Please sign in to comment.