Package org.antlr.v4.runtime.atn
Class ATNSerializer
- java.lang.Object
-
- org.antlr.v4.runtime.atn.ATNSerializer
-
public class ATNSerializer extends java.lang.Object
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description private static interface
ATNSerializer.CodePointSerializer
-
Field Summary
Fields Modifier and Type Field Description ATN
atn
private java.util.List<java.lang.String>
tokenNames
-
Constructor Summary
Constructors Constructor Description ATNSerializer(ATN atn)
ATNSerializer(ATN atn, java.util.List<java.lang.String> tokenNames)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description private int
appendSets(java.lang.StringBuilder buf, char[] data, int p, int nsets, int setIndexOffset, ATNDeserializer.UnicodeDeserializer unicodeDeserializer)
java.lang.String
decode(char[] data)
static java.lang.String
getDecoded(ATN atn, java.util.List<java.lang.String> tokenNames)
static IntegerList
getSerialized(ATN atn)
static char[]
getSerializedAsChars(ATN atn)
static java.lang.String
getSerializedAsString(ATN atn)
Used by Java target to encode short/int array as chars in string.java.lang.String
getTokenName(int t)
IntegerList
serialize()
Serialize state descriptors, edge descriptors, and decision→state map into list of ints: grammar-type, (ANTLRParser.LEXER, ...) max token type, num states, state-0-type ruleIndex, state-1-type ruleIndex, ...private void
serializeInt(IntegerList data, int value)
private void
serializeLong(IntegerList data, long value)
private static void
serializeSets(IntegerList data, java.util.Collection<IntervalSet> sets, ATNSerializer.CodePointSerializer codePointSerializer)
private void
serializeUUID(IntegerList data, java.util.UUID uuid)
-
-
-
Field Detail
-
atn
public ATN atn
-
tokenNames
private java.util.List<java.lang.String> tokenNames
-
-
Method Detail
-
serialize
public IntegerList serialize()
Serialize state descriptors, edge descriptors, and decision→state map into list of ints: grammar-type, (ANTLRParser.LEXER, ...) max token type, num states, state-0-type ruleIndex, state-1-type ruleIndex, ... state-i-type ruleIndex optional-arg ... num rules, rule-1-start-state rule-1-args, rule-2-start-state rule-2-args, ... (args are token type,actionIndex in lexer else 0,0) num modes, mode-0-start-state, mode-1-start-state, ... (parser has 0 modes) num unicode-bmp-sets bmp-set-0-interval-count intervals, bmp-set-1-interval-count intervals, ... num unicode-smp-sets smp-set-0-interval-count intervals, smp-set-1-interval-count intervals, ... num total edges, src, trg, edge-type, edge arg1, optional edge arg2 (present always), ... num decisions, decision-0-start-state, decision-1-start-state, ... Convenient to pack into unsigned shorts to make as Java string.
-
serializeSets
private static void serializeSets(IntegerList data, java.util.Collection<IntervalSet> sets, ATNSerializer.CodePointSerializer codePointSerializer)
-
decode
public java.lang.String decode(char[] data)
-
appendSets
private int appendSets(java.lang.StringBuilder buf, char[] data, int p, int nsets, int setIndexOffset, ATNDeserializer.UnicodeDeserializer unicodeDeserializer)
-
getTokenName
public java.lang.String getTokenName(int t)
-
getSerializedAsString
public static java.lang.String getSerializedAsString(ATN atn)
Used by Java target to encode short/int array as chars in string.
-
getSerialized
public static IntegerList getSerialized(ATN atn)
-
getSerializedAsChars
public static char[] getSerializedAsChars(ATN atn)
-
getDecoded
public static java.lang.String getDecoded(ATN atn, java.util.List<java.lang.String> tokenNames)
-
serializeUUID
private void serializeUUID(IntegerList data, java.util.UUID uuid)
-
serializeLong
private void serializeLong(IntegerList data, long value)
-
serializeInt
private void serializeInt(IntegerList data, int value)
-
-