Top Fields Constructors Methods
org.antlr.codegen

public Class JavaScriptTarget

extends Target
Class Inheritance

Field Summary

Inherited from org.antlr.codegen.Target:
targetCharValueEscape

Constructor Summary

AccessConstructor and Description
public

Method Summary

Modifier and TypeMethod and Description
public String
encodeIntAsCharEscape(int v)

Overrides org.antlr.codegen.Target.encodeIntAsCharEscape.

Convert an int to a JavaScript Unicode character literal.
public String
getTarget64BitStringFromValue(long word)

Overrides org.antlr.codegen.Target.getTarget64BitStringFromValue.

Convert long to two 32-bit numbers separted by a comma.
private void
Inherited from org.antlr.codegen.Target:
genRecognizerFilegenRecognizerHeaderFilegetMaxCharValuegetTargetCharLiteralFromANTLRCharLiteralgetTargetStringLiteralFromANTLRStringLiteralgetTargetStringLiteralFromStringgetTargetStringLiteralFromStringgetTokenTypeAsTargetLabelisValidActionScopeperformGrammarAnalysispostProcessActionuseBaseTemplatesForSynPredFragments

Constructor Detail

JavaScriptTargetback to summary
public JavaScriptTarget()

Method Detail

encodeIntAsCharEscapeback to summary
public String encodeIntAsCharEscape(int v)

Overrides org.antlr.codegen.Target.encodeIntAsCharEscape.

Convert an int to a JavaScript Unicode character literal. The current JavaScript spec (ECMA-262) doesn't provide for octal notation in String literals, although some implementations support it. This method overrides the parent class so that characters will always be encoded as Unicode literals (e.g. ).

Annotations
@Override
getTarget64BitStringFromValueback to summary
public String getTarget64BitStringFromValue(long word)

Overrides org.antlr.codegen.Target.getTarget64BitStringFromValue.

Convert long to two 32-bit numbers separted by a comma. JavaScript does not support 64-bit numbers, so we need to break the number into two 32-bit literals to give to the Bit. A number like 0xHHHHHHHHLLLLLLLL is broken into the following string: "0xLLLLLLLL, 0xHHHHHHHH" Note that the low order bits are first, followed by the high order bits. This is to match how the BitSet constructor works, where the bits are passed in in 32-bit chunks with low-order bits coming first.

Note

stole the following two methods from the ActionScript target.

Annotations
@Override
writeHexWithPaddingback to summary
private void writeHexWithPadding(StringBuffer buf, String digits)