Package org.antlr.codegen
Class DelphiTarget
java.lang.Object
org.antlr.codegen.Target
org.antlr.codegen.DelphiTarget
-
Field Summary
Fields inherited from class org.antlr.codegen.Target
targetCharValueEscape -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected org.stringtemplate.v4.STchooseWhereCyclicDFAsGo(Tool tool, CodeGenerator generator, Grammar grammar, org.stringtemplate.v4.ST recognizerST, org.stringtemplate.v4.ST cyclicDFAST) encodeIntAsCharEscape(int v) getTarget64BitStringFromValue(long word) Convert long to 0xNNNNNNNNNNNNNNNN by default for spitting out with bitsets.getTargetCharLiteralFromANTLRCharLiteral(CodeGenerator generator, String literal) Convert from an ANTLR char literal found in a grammar file to an equivalent char literal in the target language.getTargetStringLiteralFromANTLRStringLiteral(CodeGenerator generator, String literal) Convert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language.getTargetStringLiteralFromString(String s, boolean quoted) Given a random string of Java unicode chars, return a new string with optionally appropriate quote characters for target language and possibly with some escaped characters.Methods inherited from class org.antlr.codegen.Target
genRecognizerFile, genRecognizerHeaderFile, getMaxCharValue, getTargetStringLiteralFromString, getTokenTypeAsTargetLabel, isValidActionScope, performGrammarAnalysis, postProcessAction, useBaseTemplatesForSynPredFragments
-
Constructor Details
-
DelphiTarget
public DelphiTarget()
-
-
Method Details
-
chooseWhereCyclicDFAsGo
protected org.stringtemplate.v4.ST chooseWhereCyclicDFAsGo(Tool tool, CodeGenerator generator, Grammar grammar, org.stringtemplate.v4.ST recognizerST, org.stringtemplate.v4.ST cyclicDFAST) -
encodeIntAsCharEscape
- Overrides:
encodeIntAsCharEscapein classTarget
-
getTargetCharLiteralFromANTLRCharLiteral
Description copied from class:TargetConvert from an ANTLR char literal found in a grammar file to an equivalent char literal in the target language. For most languages, this means leaving 'x' as 'x'. Actually, we need to escape ' ' so that it doesn't get converted to \n by the compiler. Convert the literal to the char value and then to an appropriate target char literal. Expect single quotes around the incoming literal.- Overrides:
getTargetCharLiteralFromANTLRCharLiteralin classTarget
-
getTargetStringLiteralFromString
Description copied from class:TargetGiven a random string of Java unicode chars, return a new string with optionally appropriate quote characters for target language and possibly with some escaped characters. For example, if the incoming string has actual newline characters, the output of this method would convert them to the two char sequence \n for Java, C, C++, ... The new string has double-quotes around it as well. Example String in memory: a"[newlinechar]b'c[carriagereturnchar]d[tab]e\f would be converted to the valid Java s: "a\"\nb'c\rd\te\\f" or a\"\nb'c\rd\te\\f depending on the quoted arg.- Overrides:
getTargetStringLiteralFromStringin classTarget
-
getTargetStringLiteralFromANTLRStringLiteral
Description copied from class:TargetConvert from an ANTLR string literal found in a grammar file to an equivalent string literal in the target language. For Java, this is the translation 'a\n"' → "a\n\"". Expect single quotes around the incoming literal. Just flip the quotes and replace double quotes with \" Note that we have decided to allow poeple to use '\"' without penalty, so we must build the target string in a loop as Utils.replae cannot handle both \" and " without a lot of messing around.- Overrides:
getTargetStringLiteralFromANTLRStringLiteralin classTarget
-
getTarget64BitStringFromValue
Description copied from class:TargetConvert long to 0xNNNNNNNNNNNNNNNN by default for spitting out with bitsets. I.e., convert bytes to hex string.- Overrides:
getTarget64BitStringFromValuein classTarget
-