public final class jflex.core.NFA
minor version: 0
major version: 59
flags: flags: (0x0031) ACC_PUBLIC, ACC_FINAL, ACC_SUPER
this_class: jflex.core.NFA
super_class: java.lang.Object
{
private jflex.state.StateSet[][] table;
descriptor: [[Ljflex/state/StateSet;
flags: (0x0002) ACC_PRIVATE
private jflex.state.StateSet[] epsilon;
descriptor: [Ljflex/state/StateSet;
flags: (0x0002) ACC_PRIVATE
private boolean[] isFinal;
descriptor: [Z
flags: (0x0002) ACC_PRIVATE
private jflex.core.Action[] action;
descriptor: [Ljflex/core/Action;
flags: (0x0002) ACC_PRIVATE
private int numStates;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int numInput;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private int numLexStates;
descriptor: I
flags: (0x0002) ACC_PRIVATE
private final int estSize;
descriptor: I
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private jflex.core.unicode.CharClasses classes;
descriptor: Ljflex/core/unicode/CharClasses;
flags: (0x0002) ACC_PRIVATE
private jflex.core.LexScan scanner;
descriptor: Ljflex/core/LexScan;
flags: (0x0002) ACC_PRIVATE
private jflex.core.RegExps regExps;
descriptor: Ljflex/core/RegExps;
flags: (0x0002) ACC_PRIVATE
private final jflex.state.StateSetEnumerator states;
descriptor: Ljflex/state/StateSetEnumerator;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
private final jflex.state.StateSet tempStateSet;
descriptor: Ljflex/state/StateSet;
flags: (0x0012) ACC_PRIVATE, ACC_FINAL
public void <init>(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
invokespecial java.lang.Object.<init>:()V
1: aload 0
new jflex.state.StateSetEnumerator
dup
invokespecial jflex.state.StateSetEnumerator.<init>:()V
putfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
2: aload 0
new jflex.state.StateSet
dup
invokespecial jflex.state.StateSet.<init>:()V
putfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
3: aload 0
iload 1
putfield jflex.core.NFA.numInput:I
4: aload 0
iload 2
putfield jflex.core.NFA.estSize:I
5: aload 0
iconst_0
putfield jflex.core.NFA.numStates:I
6: aload 0
iload 2
anewarray jflex.state.StateSet
putfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
7: aload 0
iload 2
anewarray jflex.core.Action
putfield jflex.core.NFA.action:[Ljflex/core/Action;
8: aload 0
iload 2
newarray 4
putfield jflex.core.NFA.isFinal:[Z
9: aload 0
iload 2
iload 1
multianewarray [[Ljflex/state/StateSet; 2
putfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
10: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljflex/core/NFA;
0 11 1 numInput I
0 11 2 estSize I
MethodParameters:
Name Flags
numInput
estSize
public void <init>(int, jflex.core.LexScan, jflex.core.RegExps, jflex.core.Macros, jflex.core.unicode.CharClasses);
descriptor: (ILjflex/core/LexScan;Ljflex/core/RegExps;Ljflex/core/Macros;Ljflex/core/unicode/CharClasses;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=7, args_size=6
start local 0 start local 1 start local 2 start local 3 start local 4 start local 5 0: aload 0
iload 1
aload 3
aload 4
invokevirtual jflex.core.RegExps.NFASize:(Ljflex/core/Macros;)I
iconst_2
aload 2
getfield jflex.core.LexScan.states:Ljflex/scanner/LexicalStates;
invokevirtual jflex.scanner.LexicalStates.number:()I
imul
iadd
invokespecial jflex.core.NFA.<init>:(II)V
1: aload 0
aload 2
putfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
2: aload 0
aload 3
putfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
3: aload 0
aload 5
putfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
4: aload 0
aload 2
getfield jflex.core.LexScan.states:Ljflex/scanner/LexicalStates;
invokevirtual jflex.scanner.LexicalStates.number:()I
putfield jflex.core.NFA.numLexStates:I
5: aload 0
invokevirtual jflex.core.NFA.numEntryStates:()I
istore 6
start local 6 6: aload 0
iload 6
invokevirtual jflex.core.NFA.ensureCapacity:(I)V
7: aload 0
iload 6
putfield jflex.core.NFA.numStates:I
8: return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 9 0 this Ljflex/core/NFA;
0 9 1 numInput I
0 9 2 scanner Ljflex/core/LexScan;
0 9 3 regExps Ljflex/core/RegExps;
0 9 4 macros Ljflex/core/Macros;
0 9 5 classes Ljflex/core/unicode/CharClasses;
6 9 6 new_num I
MethodParameters:
Name Flags
numInput
scanner
regExps
macros
classes
public jflex.state.StateSet epsilon(int);
descriptor: (I)Ljflex/state/StateSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 1
aaload
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
0 1 1 i I
MethodParameters:
Name Flags
i
public int numEntryStates();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=1, args_size=1
start local 0 0: iconst_2
aload 0
getfield jflex.core.NFA.numLexStates:I
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
getfield jflex.core.RegExps.gen_look_count:I
iadd
imul
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public int numInput();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.numInput:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public int numLexStates();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.numLexStates:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public int numStates();
descriptor: ()I
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.numStates:I
ireturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public jflex.state.StateSet reachableStates(int, int);
descriptor: (II)Ljflex/state/StateSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=3, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 1
aaload
iload 2
aaload
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
0 1 1 currentState I
0 1 2 nextChar I
MethodParameters:
Name Flags
currentState
nextChar
public jflex.state.StateSetEnumerator states();
descriptor: ()Ljflex/state/StateSetEnumerator;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public jflex.state.StateSet tempStateSet();
descriptor: ()Ljflex/state/StateSet;
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
areturn
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 1 0 this Ljflex/core/NFA;
public void addStandaloneRule();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=1
start local 0 0: aload 0
getfield jflex.core.NFA.numStates:I
istore 1
start local 1 1: aload 0
getfield jflex.core.NFA.numStates:I
iconst_1
iadd
istore 2
start local 2 2: iconst_0
istore 3
start local 3 3: goto 5
StackMap locals: int int int
StackMap stack:
4: aload 0
iload 1
iload 3
iload 2
invokevirtual jflex.core.NFA.addTransition:(III)V
iinc 3 1
StackMap locals:
StackMap stack:
5: iload 3
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
invokevirtual jflex.core.unicode.CharClasses.getNumClasses:()I
if_icmplt 4
end local 3 6: iconst_0
istore 3
start local 3 7: goto 9
StackMap locals:
StackMap stack:
8: aload 0
iload 3
iload 1
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
iinc 3 1
StackMap locals:
StackMap stack:
9: iload 3
aload 0
getfield jflex.core.NFA.numLexStates:I
iconst_2
imul
if_icmplt 8
end local 3 10: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
iload 2
new jflex.core.Action
dup
ldc "System.out.print(yytext());"
ldc 2147483647
invokespecial jflex.core.Action.<init>:(Ljava/lang/String;I)V
aastore
11: aload 0
getfield jflex.core.NFA.isFinal:[Z
iload 2
iconst_1
bastore
12: return
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 13 0 this Ljflex/core/NFA;
1 13 1 start I
2 13 2 end I
3 6 3 c I
7 10 3 i I
public void addRegExp(int);
descriptor: (I)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=5, locals=11, args_size=2
start local 0 start local 1 0: aload 0
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getRegExp:(I)Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 1: aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getStates:(I)Ljava/util/List;
astore 3
start local 3 2: aload 3
invokeinterface java.util.List.isEmpty:()Z
ifeq 3
aload 0
getfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
getfield jflex.core.LexScan.states:Ljflex/scanner/LexicalStates;
invokevirtual jflex.scanner.LexicalStates.getInclusiveStates:()Ljava/util/List;
astore 3
3: StackMap locals: jflex.base.IntPair java.util.List
StackMap stack:
aload 3
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 5
goto 7
StackMap locals: jflex.core.NFA int jflex.base.IntPair java.util.List top java.util.Iterator
StackMap stack:
4: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
astore 4
start local 4 5: aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.isBOL:(I)Z
ifne 6
aload 0
iconst_2
aload 4
invokevirtual java.lang.Integer.intValue:()I
imul
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
6: StackMap locals: jflex.core.NFA int jflex.base.IntPair java.util.List java.lang.Integer java.util.Iterator
StackMap stack:
aload 0
iconst_2
aload 4
invokevirtual java.lang.Integer.intValue:()I
imul
iconst_1
iadd
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
end local 4 7: StackMap locals: jflex.core.NFA int jflex.base.IntPair java.util.List top java.util.Iterator
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
8: aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getLookAhead:(I)Ljflex/core/RegExp;
ifnull 32
9: aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getAction:(I)Ljflex/core/Action;
astore 4
start local 4 10: aload 4
invokevirtual jflex.core.Action.lookAhead:()I
iconst_3
if_icmpne 14
11: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 4
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getLookAhead:(I)Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertLookAheadChoices:(ILjflex/core/Action;Ljflex/core/RegExp;)V
12: aload 0
getfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
getfield jflex.core.LexScan.actions:Ljava/util/List;
aload 4
invokeinterface java.util.List.remove:(Ljava/lang/Object;)Z
pop
13: goto 34
14: StackMap locals: jflex.core.NFA int jflex.base.IntPair java.util.List jflex.core.Action
StackMap stack:
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getRegExp:(I)Ljflex/core/RegExp;
astore 5
start local 5 15: aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getLookAhead:(I)Ljflex/core/RegExp;
astore 6
start local 6 16: aload 0
aload 6
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 7
start local 7 17: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 7
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
18: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 7
invokevirtual jflex.base.IntPair.end:()I
aload 4
aastore
19: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 7
invokevirtual jflex.base.IntPair.end:()I
iconst_1
bastore
20: aload 4
invokevirtual jflex.core.Action.lookAhead:()I
iconst_4
if_icmpne 34
21: aload 0
aload 5
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 8
start local 8 22: aload 0
aload 6
invokevirtual jflex.core.RegExp.rev:()Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 9
start local 9 23: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 8
invokevirtual jflex.base.IntPair.end:()I
iconst_1
bastore
24: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 8
invokevirtual jflex.base.IntPair.end:()I
new jflex.core.Action
dup
iconst_5
invokespecial jflex.core.Action.<init>:(I)V
aastore
25: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 9
invokevirtual jflex.base.IntPair.end:()I
iconst_1
bastore
26: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 9
invokevirtual jflex.base.IntPair.end:()I
new jflex.core.Action
dup
bipush 6
invokespecial jflex.core.Action.<init>:(I)V
aastore
27: iconst_2
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getLookEntry:(I)I
aload 0
getfield jflex.core.NFA.numLexStates:I
iadd
imul
istore 10
start local 10 28: aload 0
iload 10
aload 8
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
29: aload 0
iload 10
iconst_1
iadd
aload 9
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
30: aload 4
iload 10
invokevirtual jflex.core.Action.setEntryState:(I)V
end local 10 end local 9 end local 8 end local 7 end local 6 end local 5 end local 4 31: goto 34
32: StackMap locals:
StackMap stack:
aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 0
getfield jflex.core.NFA.regExps:Ljflex/core/RegExps;
iload 1
invokevirtual jflex.core.RegExps.getAction:(I)Ljflex/core/Action;
aastore
33: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 2
invokevirtual jflex.base.IntPair.end:()I
iconst_1
bastore
34: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 35 0 this Ljflex/core/NFA;
0 35 1 regExpNum I
1 35 2 nfa Ljflex/base/IntPair;
2 35 3 lexStates Ljava/util/List<Ljava/lang/Integer;>;
5 7 4 stateNum Ljava/lang/Integer;
10 31 4 a Ljflex/core/Action;
15 31 5 r1 Ljflex/core/RegExp;
16 31 6 r2 Ljflex/core/RegExp;
17 31 7 look Ljflex/base/IntPair;
22 31 8 forward Ljflex/base/IntPair;
23 31 9 backward Ljflex/base/IntPair;
28 31 10 entry I
MethodParameters:
Name Flags
regExpNum
private void insertLookAheadChoices(int, jflex.core.Action, jflex.core.RegExp);
descriptor: (ILjflex/core/Action;Ljflex/core/RegExp;)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=7, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 3
getfield jflex.core.RegExp.type:I
bipush 41
if_icmpne 5
1: aload 3
checkcast jflex.core.RegExp2
astore 4
start local 4 2: aload 0
iload 1
aload 2
aload 4
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertLookAheadChoices:(ILjflex/core/Action;Ljflex/core/RegExp;)V
3: aload 0
iload 1
aload 2
aload 4
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertLookAheadChoices:(ILjflex/core/Action;Ljflex/core/RegExp;)V
end local 4 4: goto 15
5: StackMap locals:
StackMap stack:
aload 3
invokestatic jflex.core.SemCheck.length:(Ljflex/core/RegExp;)I
istore 4
start local 4 6: iload 4
iflt 14
7: aload 0
aload 3
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 5
start local 5 8: aload 0
iload 1
aload 5
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
9: aload 2
iload 4
invokevirtual jflex.core.Action.copyChoice:(I)Ljflex/core/Action;
astore 6
start local 6 10: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 5
invokevirtual jflex.base.IntPair.end:()I
aload 6
aastore
11: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 5
invokevirtual jflex.base.IntPair.end:()I
iconst_1
bastore
12: aload 0
getfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
getfield jflex.core.LexScan.actions:Ljava/util/List;
aload 6
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
end local 6 end local 5 13: goto 15
14: StackMap locals: int
StackMap stack:
new jflex.core.RegExpException
dup
aload 3
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 4 15: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljflex/core/NFA;
0 16 1 baseEnd I
0 16 2 a Ljflex/core/Action;
0 16 3 lookAhead Ljflex/core/RegExp;
2 4 4 r Ljflex/core/RegExp2;
6 15 4 len I
8 13 5 look Ljflex/base/IntPair;
10 13 6 x Ljflex/core/Action;
MethodParameters:
Name Flags
baseEnd
a
lookAhead
private void ensureCapacity(int);
descriptor: (I)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=8, args_size=2
start local 0 start local 1 0: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
arraylength
istore 2
start local 2 1: iload 1
iload 2
if_icmpge 2
return
2: StackMap locals: int
StackMap stack:
iload 2
iconst_2
imul
iload 1
invokestatic java.lang.Math.max:(II)I
istore 3
start local 3 3: iload 3
newarray 4
astore 4
start local 4 4: iload 3
anewarray jflex.core.Action
astore 5
start local 5 5: iload 3
aload 0
getfield jflex.core.NFA.numInput:I
multianewarray [[Ljflex/state/StateSet; 2
astore 6
start local 6 6: iload 3
anewarray jflex.state.StateSet
astore 7
start local 7 7: aload 0
getfield jflex.core.NFA.isFinal:[Z
iconst_0
aload 4
iconst_0
aload 0
getfield jflex.core.NFA.numStates:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
8: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
iconst_0
aload 5
iconst_0
aload 0
getfield jflex.core.NFA.numStates:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
9: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iconst_0
aload 7
iconst_0
aload 0
getfield jflex.core.NFA.numStates:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
10: aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iconst_0
aload 6
iconst_0
aload 0
getfield jflex.core.NFA.numStates:I
invokestatic java.lang.System.arraycopy:(Ljava/lang/Object;ILjava/lang/Object;II)V
11: aload 0
aload 4
putfield jflex.core.NFA.isFinal:[Z
12: aload 0
aload 5
putfield jflex.core.NFA.action:[Ljflex/core/Action;
13: aload 0
aload 7
putfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
14: aload 0
aload 6
putfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
15: return
end local 7 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 16 0 this Ljflex/core/NFA;
0 16 1 newNumStates I
1 16 2 oldLength I
3 16 3 newStatesLength I
4 16 4 newFinal [Z
5 16 5 newAction [Ljflex/core/Action;
6 16 6 newTable [[Ljflex/state/StateSet;
7 16 7 newEpsilon [Ljflex/state/StateSet;
MethodParameters:
Name Flags
newNumStates
public void addTransition(int, int, int);
descriptor: (III)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: new java.lang.StringBuilder
dup
ldc "Adding transition ("
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
iload 1
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc ")"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jflex.logging.Out.debug:(Ljava/lang/String;)V
1: iload 1
iload 3
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
istore 4
start local 4 2: aload 0
iload 4
invokevirtual jflex.core.NFA.ensureCapacity:(I)V
3: iload 4
aload 0
getfield jflex.core.NFA.numStates:I
if_icmple 4
aload 0
iload 4
putfield jflex.core.NFA.numStates:I
4: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 1
aaload
iload 2
aaload
ifnull 5
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 1
aaload
iload 2
aaload
iload 3
invokevirtual jflex.state.StateSet.addState:(I)V
goto 6
5: StackMap locals:
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 1
aaload
iload 2
new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.estSize:I
iload 3
invokespecial jflex.state.StateSet.<init>:(II)V
aastore
6: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 7 0 this Ljflex/core/NFA;
0 7 1 start I
0 7 2 input I
0 7 3 dest I
2 7 4 maxS I
MethodParameters:
Name Flags
start
input
dest
public void addEpsilonTransition(int, int);
descriptor: (II)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=6, locals=4, args_size=3
start local 0 start local 1 start local 2 0: iload 1
iload 2
invokestatic java.lang.Math.max:(II)I
iconst_1
iadd
istore 3
start local 3 1: aload 0
iload 3
invokevirtual jflex.core.NFA.ensureCapacity:(I)V
2: iload 3
aload 0
getfield jflex.core.NFA.numStates:I
if_icmple 3
aload 0
iload 3
putfield jflex.core.NFA.numStates:I
3: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 1
aaload
ifnull 4
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 1
aaload
iload 2
invokevirtual jflex.state.StateSet.addState:(I)V
goto 5
4: StackMap locals:
StackMap stack:
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 1
new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.estSize:I
iload 2
invokespecial jflex.state.StateSet.<init>:(II)V
aastore
5: StackMap locals:
StackMap stack:
return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljflex/core/NFA;
0 6 1 start I
0 6 2 dest I
1 6 3 max I
MethodParameters:
Name Flags
start
dest
public boolean containsFinal(jflex.state.StateSet);
descriptor: (Ljflex/state/StateSet;)Z
flags: (0x0001) ACC_PUBLIC
Code:
stack=2, locals=2, args_size=2
start local 0 start local 1 0: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
aload 1
invokevirtual jflex.state.StateSetEnumerator.reset:(Ljflex/state/StateSet;)V
1: goto 3
StackMap locals:
StackMap stack:
2: aload 0
getfield jflex.core.NFA.isFinal:[Z
aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.nextElement:()I
baload
ifeq 3
iconst_1
ireturn
StackMap locals:
StackMap stack:
3: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.hasMoreElements:()Z
ifne 2
4: iconst_0
ireturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 5 0 this Ljflex/core/NFA;
0 5 1 set Ljflex/state/StateSet;
MethodParameters:
Name Flags
set
public jflex.core.Action getAction(jflex.state.StateSet);
descriptor: (Ljflex/state/StateSet;)Ljflex/core/Action;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=2
start local 0 start local 1 0: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
aload 1
invokevirtual jflex.state.StateSetEnumerator.reset:(Ljflex/state/StateSet;)V
1: aconst_null
astore 2
start local 2 2: new java.lang.StringBuilder
dup
ldc "Determining action of : "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 1
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jflex.logging.Out.debug:(Ljava/lang/String;)V
3: goto 8
4: StackMap locals: jflex.core.Action
StackMap stack:
aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.nextElement:()I
aaload
astore 3
start local 3 5: aload 3
ifnull 8
6: aload 2
ifnonnull 7
aload 3
astore 2
goto 8
7: StackMap locals: jflex.core.Action
StackMap stack:
aload 2
aload 3
invokevirtual jflex.core.Action.getHigherPriority:(Ljflex/core/Action;)Ljflex/core/Action;
astore 2
end local 3 8: StackMap locals:
StackMap stack:
aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.hasMoreElements:()Z
ifne 4
9: aload 2
areturn
end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljflex/core/NFA;
0 10 1 set Ljflex/state/StateSet;
2 10 2 maxAction Ljflex/core/Action;
5 8 3 currentAction Ljflex/core/Action;
MethodParameters:
Name Flags
set
private jflex.state.StateSet closure(int);
descriptor: (I)Ljflex/state/StateSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=5, args_size=2
start local 0 start local 1 0: aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
astore 2
start local 2 1: new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.numStates:I
iload 1
invokespecial jflex.state.StateSet.<init>:(II)V
astore 3
start local 3 2: aload 2
invokevirtual jflex.state.StateSet.clear:()V
3: aload 2
iload 1
invokevirtual jflex.state.StateSet.addState:(I)V
4: goto 8
5: StackMap locals: jflex.state.StateSet jflex.state.StateSet
StackMap stack:
aload 2
invokevirtual jflex.state.StateSet.getAndRemoveElement:()I
istore 4
start local 4 6: aload 2
aload 3
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 4
aaload
invokevirtual jflex.state.StateSet.complement:(Ljflex/state/StateSet;)Ljflex/state/StateSet;
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
7: aload 3
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 4
aaload
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
end local 4 8: StackMap locals:
StackMap stack:
aload 2
invokevirtual jflex.state.StateSet.containsElements:()Z
ifne 5
9: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 10 0 this Ljflex/core/NFA;
0 10 1 startState I
1 10 2 notvisited Ljflex/state/StateSet;
2 10 3 closure Ljflex/state/StateSet;
6 8 4 state I
MethodParameters:
Name Flags
startState
public void epsilonFill();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=2, args_size=1
start local 0 0: iconst_0
istore 1
start local 1 1: goto 4
2: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 1
aload 0
iload 1
invokevirtual jflex.core.NFA.closure:(I)Ljflex/state/StateSet;
aastore
3: iinc 1 1
StackMap locals:
StackMap stack:
4: iload 1
aload 0
getfield jflex.core.NFA.numStates:I
if_icmplt 2
end local 1 5: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljflex/core/NFA;
1 5 1 i I
private jflex.state.StateSet DFAEdge(jflex.state.StateSet, int);
descriptor: (Ljflex/state/StateSet;I)Ljflex/state/StateSet;
flags: (0x0002) ACC_PRIVATE
Code:
stack=3, locals=4, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
invokevirtual jflex.state.StateSet.clear:()V
1: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
aload 1
invokevirtual jflex.state.StateSetEnumerator.reset:(Ljflex/state/StateSet;)V
2: goto 4
StackMap locals:
StackMap stack:
3: aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.nextElement:()I
aaload
iload 2
aaload
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
StackMap locals:
StackMap stack:
4: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.hasMoreElements:()Z
ifne 3
5: new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
invokespecial jflex.state.StateSet.<init>:(Ljflex/state/StateSet;)V
astore 3
start local 3 6: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
invokevirtual jflex.state.StateSetEnumerator.reset:(Ljflex/state/StateSet;)V
7: goto 9
StackMap locals: jflex.state.StateSet
StackMap stack:
8: aload 3
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.nextElement:()I
aaload
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
StackMap locals:
StackMap stack:
9: aload 0
getfield jflex.core.NFA.states:Ljflex/state/StateSetEnumerator;
invokevirtual jflex.state.StateSetEnumerator.hasMoreElements:()Z
ifne 8
10: aload 3
areturn
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljflex/core/NFA;
0 11 1 start Ljflex/state/StateSet;
0 11 2 input I
6 11 3 result Ljflex/state/StateSet;
MethodParameters:
Name Flags
start
input
public void dumpTable();
descriptor: ()V
flags: (0x0001) ACC_PUBLIC
Code:
stack=1, locals=1, args_size=1
start local 0 0: aload 0
invokevirtual jflex.core.NFA.toString:()Ljava/lang/String;
invokestatic jflex.logging.Out.dump:(Ljava/lang/String;)V
1: return
end local 0 LocalVariableTable:
Start End Slot Name Signature
0 2 0 this Ljflex/core/NFA;
public java.lang.String toString();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=4, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: iconst_0
istore 2
start local 2 2: goto 26
3: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 1
ldc "State"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
4: aload 0
getfield jflex.core.NFA.isFinal:[Z
iload 2
baload
ifeq 11
5: aload 1
ldc "[FINAL"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
6: aload 0
getfield jflex.core.NFA.action:[Ljflex/core/Action;
iload 2
aaload
invokevirtual jflex.core.Action.lookString:()Ljava/lang/String;
astore 3
start local 3 7: aload 3
ldc ""
invokestatic java.util.Objects.equals:(Ljava/lang/Object;Ljava/lang/Object;)Z
ifne 10
8: aload 1
ldc ", "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: aload 1
aload 3
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
10: StackMap locals: java.lang.String
StackMap stack:
aload 1
ldc "]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 11: StackMap locals:
StackMap stack:
aload 1
ldc " "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
12: iconst_0
istore 3
start local 3 13: goto 22
14: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 2
aaload
iload 3
aaload
ifnull 21
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 2
aaload
iload 3
aaload
invokevirtual jflex.state.StateSet.containsElements:()Z
ifeq 21
15: aload 1
16: ldc " with "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
17: iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
18: ldc " in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
19: aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 2
aaload
iload 3
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
20: getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
21: StackMap locals:
StackMap stack:
iinc 3 1
StackMap locals:
StackMap stack:
22: iload 3
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 14
end local 3 23: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 2
aaload
ifnull 25
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 2
aaload
invokevirtual jflex.state.StateSet.containsElements:()Z
ifeq 25
24: aload 1
ldc " with epsilon in "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 2
aaload
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
25: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
26: iload 2
aload 0
getfield jflex.core.NFA.numStates:I
if_icmplt 3
end local 2 27: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 28 0 this Ljflex/core/NFA;
1 28 1 result Ljava/lang/StringBuilder;
2 27 2 i I
7 11 3 l Ljava/lang/String;
13 23 3 input I
public void writeDot(java.io.File);
descriptor: (Ljava/io/File;)V
flags: (0x0001) ACC_PUBLIC
Code:
stack=7, locals=3, args_size=2
start local 0 start local 1 0: new java.io.PrintWriter
dup
1: new java.io.OutputStreamWriter
dup
new java.io.FileOutputStream
dup
aload 1
invokespecial java.io.FileOutputStream.<init>:(Ljava/io/File;)V
getstatic java.nio.charset.StandardCharsets.UTF_8:Ljava/nio/charset/Charset;
invokespecial java.io.OutputStreamWriter.<init>:(Ljava/io/OutputStream;Ljava/nio/charset/Charset;)V
2: invokespecial java.io.PrintWriter.<init>:(Ljava/io/Writer;)V
3: astore 2
start local 2 4: aload 2
aload 0
invokevirtual jflex.core.NFA.dotFormat:()Ljava/lang/String;
invokevirtual java.io.PrintWriter.println:(Ljava/lang/String;)V
5: aload 2
invokevirtual java.io.PrintWriter.close:()V
end local 2 6: goto 10
StackMap locals:
StackMap stack: java.io.IOException
7: astore 2
start local 2 8: getstatic jflex.l10n.ErrorMessages.FILE_WRITE:Ljflex/l10n/ErrorMessages$ErrorMessage;
aload 1
invokestatic jflex.logging.Out.error:(Ljflex/l10n/ErrorMessages$ErrorMessage;Ljava/io/File;)V
9: new jflex.exceptions.GeneratorException
dup
aload 2
invokespecial jflex.exceptions.GeneratorException.<init>:(Ljava/lang/Throwable;)V
athrow
end local 2 10: StackMap locals:
StackMap stack:
return
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 11 0 this Ljflex/core/NFA;
0 11 1 file Ljava/io/File;
4 6 2 writer Ljava/io/PrintWriter;
8 10 2 e Ljava/io/IOException;
Exception table:
from to target type
0 6 7 Class java.io.IOException
MethodParameters:
Name Flags
file
public java.lang.String dotFormat();
descriptor: ()Ljava/lang/String;
flags: (0x0001) ACC_PUBLIC
Code:
stack=3, locals=6, args_size=1
start local 0 0: new java.lang.StringBuilder
dup
invokespecial java.lang.StringBuilder.<init>:()V
astore 1
start local 1 1: aload 1
ldc "digraph NFA {"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
2: aload 1
ldc "rankdir = LR"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
3: iconst_0
istore 2
start local 2 4: goto 10
5: StackMap locals: java.lang.StringBuilder int
StackMap stack:
aload 0
getfield jflex.core.NFA.isFinal:[Z
iload 2
baload
ifeq 9
6: aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
7: aload 1
ldc " [shape = doublecircle]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
8: aload 1
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
9: StackMap locals:
StackMap stack:
iinc 2 1
StackMap locals:
StackMap stack:
10: iload 2
aload 0
getfield jflex.core.NFA.numStates:I
if_icmplt 5
end local 2 11: iconst_0
istore 2
start local 2 12: goto 27
13: StackMap locals:
StackMap stack:
iconst_0
istore 3
start local 3 14: goto 21
15: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 2
aaload
iload 3
aaload
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 5
goto 19
StackMap locals: jflex.core.NFA java.lang.StringBuilder int int top java.util.Iterator
StackMap stack:
16: aload 5
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 4
start local 4 17: aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 4
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
pop
18: aload 1
ldc " [label=\""
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
iload 3
invokevirtual jflex.core.unicode.CharClasses.toString:(I)Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
ldc "\"]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 4 19: StackMap locals:
StackMap stack:
aload 5
invokeinterface java.util.Iterator.hasNext:()Z
ifne 16
20: iinc 3 1
StackMap locals: jflex.core.NFA java.lang.StringBuilder int int
StackMap stack:
21: iload 3
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 15
end local 3 22: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 2
aaload
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 4
goto 25
StackMap locals: jflex.core.NFA java.lang.StringBuilder int top java.util.Iterator
StackMap stack:
23: aload 4
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 3
start local 3 24: aload 1
iload 2
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " -> "
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
iload 3
invokevirtual java.lang.StringBuilder.append:(I)Ljava/lang/StringBuilder;
ldc " [style=dotted]"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
end local 3 25: StackMap locals:
StackMap stack:
aload 4
invokeinterface java.util.Iterator.hasNext:()Z
ifne 23
26: iinc 2 1
StackMap locals: jflex.core.NFA java.lang.StringBuilder int
StackMap stack:
27: iload 2
aload 0
getfield jflex.core.NFA.numStates:I
if_icmplt 13
end local 2 28: aload 1
ldc "}"
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
getstatic jflex.logging.Out.NL:Ljava/lang/String;
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/String;)Ljava/lang/StringBuilder;
pop
29: aload 1
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
areturn
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 30 0 this Ljflex/core/NFA;
1 30 1 result Ljava/lang/StringBuilder;
4 11 2 i I
12 28 2 i I
14 22 3 input I
17 19 4 s I
24 25 3 s I
private void insertLetterNFA(boolean, int, int, int);
descriptor: (ZIII)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=10, args_size=5
start local 0 start local 1 start local 2 start local 3 start local 4 0: iload 1
ifeq 12
1: iload 2
invokestatic jflex.core.unicode.IntCharSet.ofCharacter:(I)Ljflex/core/unicode/IntCharSet;
astore 5
start local 5 2: aload 5
aload 0
getfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
invokevirtual jflex.core.LexScan.getUnicodeProperties:()Ljflex/core/unicode/UnicodeProperties;
invokevirtual jflex.core.unicode.IntCharSet.getCaseless:(Ljflex/core/unicode/UnicodeProperties;)Ljflex/core/unicode/IntCharSet;
astore 6
start local 6 3: aload 6
invokevirtual jflex.core.unicode.IntCharSet.getIntervals:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 8
goto 10
StackMap locals: jflex.core.NFA int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet top java.util.Iterator
StackMap stack:
4: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jflex.chars.Interval
astore 7
start local 7 5: aload 7
getfield jflex.chars.Interval.start:I
istore 9
start local 9 6: goto 9
7: StackMap locals: jflex.core.NFA int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet jflex.chars.Interval java.util.Iterator int
StackMap stack:
aload 0
iload 3
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
iload 9
invokevirtual jflex.core.unicode.CharClasses.getClassCode:(I)I
iload 4
invokevirtual jflex.core.NFA.addTransition:(III)V
8: iinc 9 1
StackMap locals:
StackMap stack:
9: iload 9
aload 7
getfield jflex.chars.Interval.end:I
if_icmple 7
end local 9 end local 7 10: StackMap locals: jflex.core.NFA int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 4
end local 6 end local 5 11: goto 13
12: StackMap locals: jflex.core.NFA int int int int
StackMap stack:
aload 0
iload 3
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
iload 2
invokevirtual jflex.core.unicode.CharClasses.getClassCode:(I)I
iload 4
invokevirtual jflex.core.NFA.addTransition:(III)V
13: StackMap locals:
StackMap stack:
return
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 14 0 this Ljflex/core/NFA;
0 14 1 caseless Z
0 14 2 ch I
0 14 3 start I
0 14 4 end I
2 11 5 set Ljflex/core/unicode/IntCharSet;
3 11 6 caselessSet Ljflex/core/unicode/IntCharSet;
5 10 7 interval Ljflex/chars/Interval;
6 10 9 elem I
MethodParameters:
Name Flags
caseless
ch
start
end
private jflex.base.IntPair insertStringNFA(boolean, java.lang.String);
descriptor: (ZLjava/lang/String;)Ljflex/base/IntPair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jflex.core.NFA.numStates:I
istore 3
start local 3 1: iconst_0
istore 4
start local 4 2: iconst_0
istore 5
start local 5 3: goto 20
4: StackMap locals: int int int
StackMap stack:
aload 2
iload 5
invokevirtual java.lang.String.codePointAt:(I)I
istore 6
start local 6 5: iload 1
ifeq 17
6: iload 6
invokestatic jflex.core.unicode.IntCharSet.ofCharacter:(I)Ljflex/core/unicode/IntCharSet;
astore 7
start local 7 7: aload 7
aload 0
getfield jflex.core.NFA.scanner:Ljflex/core/LexScan;
invokevirtual jflex.core.LexScan.getUnicodeProperties:()Ljflex/core/unicode/UnicodeProperties;
invokevirtual jflex.core.unicode.IntCharSet.getCaseless:(Ljflex/core/unicode/UnicodeProperties;)Ljflex/core/unicode/IntCharSet;
astore 8
start local 8 8: aload 8
invokevirtual jflex.core.unicode.IntCharSet.getIntervals:()Ljava/util/List;
invokeinterface java.util.List.iterator:()Ljava/util/Iterator;
astore 10
goto 15
StackMap locals: jflex.core.NFA int java.lang.String int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet top java.util.Iterator
StackMap stack:
9: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast jflex.chars.Interval
astore 9
start local 9 10: aload 9
getfield jflex.chars.Interval.start:I
istore 11
start local 11 11: goto 14
12: StackMap locals: jflex.core.NFA int java.lang.String int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet jflex.chars.Interval java.util.Iterator int
StackMap stack:
aload 0
iload 4
iload 3
iadd
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
iload 11
invokevirtual jflex.core.unicode.CharClasses.getClassCode:(I)I
iload 4
iload 3
iadd
iconst_1
iadd
invokevirtual jflex.core.NFA.addTransition:(III)V
13: iinc 11 1
StackMap locals:
StackMap stack:
14: iload 11
aload 9
getfield jflex.chars.Interval.end:I
if_icmple 12
end local 11 end local 9 15: StackMap locals: jflex.core.NFA int java.lang.String int int int int jflex.core.unicode.IntCharSet jflex.core.unicode.IntCharSet top java.util.Iterator
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 9
end local 8 end local 7 16: goto 18
17: StackMap locals: jflex.core.NFA int java.lang.String int int int int
StackMap stack:
aload 0
iload 4
iload 3
iadd
aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
iload 6
invokevirtual jflex.core.unicode.CharClasses.getClassCode:(I)I
iload 4
iload 3
iadd
iconst_1
iadd
invokevirtual jflex.core.NFA.addTransition:(III)V
18: StackMap locals:
StackMap stack:
iload 5
iload 6
invokestatic java.lang.Character.charCount:(I)I
iadd
istore 5
end local 6 19: iinc 4 1
StackMap locals:
StackMap stack:
20: iload 5
aload 2
invokevirtual java.lang.String.length:()I
if_icmplt 4
end local 5 21: iload 3
iload 4
iload 3
iadd
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 22 0 this Ljflex/core/NFA;
0 22 1 caseless Z
0 22 2 str Ljava/lang/String;
1 22 3 start I
2 22 4 i I
3 21 5 pos I
5 19 6 ch I
7 16 7 set Ljflex/core/unicode/IntCharSet;
8 16 8 caselessSet Ljflex/core/unicode/IntCharSet;
10 15 9 interval Ljflex/chars/Interval;
11 15 11 elem I
MethodParameters:
Name Flags
caseless
str
private void insertClassNFA(jflex.core.unicode.IntCharSet, int, int);
descriptor: (Ljflex/core/unicode/IntCharSet;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=8, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 0
getfield jflex.core.NFA.classes:Ljflex/core/unicode/CharClasses;
aload 1
iconst_0
invokevirtual jflex.core.unicode.CharClasses.getClassCodes:(Ljflex/core/unicode/IntCharSet;Z)[I
dup
astore 7
arraylength
istore 6
iconst_0
istore 5
goto 4
StackMap locals: jflex.core.NFA jflex.core.unicode.IntCharSet int int top int int int[]
StackMap stack:
1: aload 7
iload 5
iaload
istore 4
start local 4 2: aload 0
iload 2
iload 4
iload 3
invokevirtual jflex.core.NFA.addTransition:(III)V
end local 4 3: iinc 5 1
StackMap locals:
StackMap stack:
4: iload 5
iload 6
if_icmplt 1
5: return
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 6 0 this Ljflex/core/NFA;
0 6 1 set Ljflex/core/unicode/IntCharSet;
0 6 2 start I
0 6 3 end I
2 3 4 aCl I
MethodParameters:
Name Flags
set
start
end
private jflex.base.IntPair complement(jflex.base.IntPair);
descriptor: (Ljflex/base/IntPair;)Ljflex/base/IntPair;
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=14, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jflex.base.IntPair.end:()I
iconst_1
iadd
istore 2
start local 2 1: aload 0
invokevirtual jflex.core.NFA.epsilonFill:()V
2: new java.util.HashMap
dup
aload 0
getfield jflex.core.NFA.numStates:I
invokespecial java.util.HashMap.<init>:(I)V
astore 3
start local 3 3: new java.util.ArrayList
dup
aload 0
getfield jflex.core.NFA.numStates:I
invokespecial java.util.ArrayList.<init>:(I)V
astore 4
start local 4 4: iconst_0
istore 5
start local 5 5: iconst_0
istore 6
start local 6 6: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
aload 1
invokevirtual jflex.base.IntPair.start:()I
aaload
astore 8
start local 8 7: aload 3
aload 8
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
8: aload 4
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
9: goto 28
10: StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int top jflex.state.StateSet
StackMap stack:
aload 4
iload 6
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jflex.state.StateSet
astore 7
start local 7 11: iconst_0
istore 9
start local 9 12: goto 26
13: StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int jflex.state.StateSet jflex.state.StateSet int
StackMap stack:
aload 0
aload 7
iload 9
invokevirtual jflex.core.NFA.DFAEdge:(Ljflex/state/StateSet;I)Ljflex/state/StateSet;
astore 8
14: aload 8
invokevirtual jflex.state.StateSet.containsElements:()Z
ifeq 25
15: aload 3
aload 8
invokeinterface java.util.Map.get:(Ljava/lang/Object;)Ljava/lang/Object;
checkcast java.lang.Integer
astore 10
start local 10 16: aload 10
ifnull 19
17: aload 0
iload 2
iload 6
iadd
iload 9
iload 2
aload 10
invokevirtual java.lang.Integer.intValue:()I
iadd
invokevirtual jflex.core.NFA.addTransition:(III)V
18: goto 25
19: StackMap locals: java.lang.Integer
StackMap stack:
getstatic jflex.option.Options.dump:Z
ifeq 21
20: ldc "+"
invokestatic jflex.logging.Out.print:(Ljava/lang/String;)V
21: StackMap locals:
StackMap stack:
iinc 5 1
22: aload 3
aload 8
iload 5
invokestatic java.lang.Integer.valueOf:(I)Ljava/lang/Integer;
invokeinterface java.util.Map.put:(Ljava/lang/Object;Ljava/lang/Object;)Ljava/lang/Object;
pop
23: aload 4
aload 8
invokeinterface java.util.List.add:(Ljava/lang/Object;)Z
pop
24: aload 0
iload 2
iload 6
iadd
iload 9
iload 2
iload 5
iadd
invokevirtual jflex.core.NFA.addTransition:(III)V
end local 10 25: StackMap locals:
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
26: iload 9
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 13
end local 9 27: iinc 6 1
end local 7 28: StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int top jflex.state.StateSet
StackMap stack:
iload 6
iload 5
if_icmple 10
29: iload 2
iload 5
iadd
iconst_1
iadd
istore 9
start local 9 30: iload 2
iload 5
iadd
iconst_2
iadd
istore 10
start local 10 31: iload 2
iload 5
iadd
iconst_3
iadd
istore 11
start local 11 32: aload 0
iload 9
iload 2
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
33: iconst_0
istore 12
start local 12 34: goto 36
StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int top jflex.state.StateSet int int int int
StackMap stack:
35: aload 0
iload 10
iload 12
iload 10
invokevirtual jflex.core.NFA.addTransition:(III)V
iinc 12 1
StackMap locals:
StackMap stack:
36: iload 12
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 35
end local 12 37: aload 0
iload 10
iload 11
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
38: iconst_0
istore 12
start local 12 39: goto 49
40: StackMap locals:
StackMap stack:
aload 4
iload 12
invokeinterface java.util.List.get:(I)Ljava/lang/Object;
checkcast jflex.state.StateSet
astore 7
start local 7 41: iload 2
iload 12
iadd
istore 6
42: aload 7
aload 1
invokevirtual jflex.base.IntPair.end:()I
invokevirtual jflex.state.StateSet.hasElement:(I)Z
ifne 43
aload 0
iload 6
iload 11
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
43: StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int jflex.state.StateSet jflex.state.StateSet int int int int
StackMap stack:
iconst_0
istore 13
start local 13 44: goto 47
45: StackMap locals: int
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 6
aaload
iload 13
aaload
ifnonnull 46
aload 0
iload 6
iload 13
iload 10
invokevirtual jflex.core.NFA.addTransition:(III)V
46: StackMap locals:
StackMap stack:
iinc 13 1
StackMap locals:
StackMap stack:
47: iload 13
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 45
end local 13 48: iinc 12 1
end local 7 StackMap locals: jflex.core.NFA jflex.base.IntPair int java.util.Map java.util.List int int top jflex.state.StateSet int int int int
StackMap stack:
49: iload 12
iload 5
if_icmple 40
end local 12 50: aload 0
iload 2
iload 11
invokevirtual jflex.core.NFA.removeDead:(II)V
51: iload 9
iload 11
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 11 end local 10 end local 9 end local 8 end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 52 0 this Ljflex/core/NFA;
0 52 1 nfa Ljflex/base/IntPair;
1 52 2 dfaStart I
3 52 3 dfaStates Ljava/util/Map<Ljflex/state/StateSet;Ljava/lang/Integer;>;
4 52 4 dfaList Ljava/util/List<Ljflex/state/StateSet;>;
5 52 5 numDFAStates I
6 52 6 currentDFAState I
11 28 7 currentState Ljflex/state/StateSet;
41 49 7 currentState Ljflex/state/StateSet;
7 52 8 newState Ljflex/state/StateSet;
12 27 9 input I
16 25 10 nextDFAState Ljava/lang/Integer;
30 52 9 start I
31 52 10 error I
32 52 11 end I
34 37 12 i I
39 50 12 s I
44 48 13 i I
MethodParameters:
Name Flags
nfa
private void removeDead(int, int);
descriptor: (II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=4, locals=12, args_size=3
start local 0 start local 1 start local 2 0: aload 0
getfield jflex.core.NFA.tempStateSet:Ljflex/state/StateSet;
astore 3
start local 3 1: new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.numStates:I
iload 1
invokespecial jflex.state.StateSet.<init>:(II)V
astore 4
start local 4 2: aload 3
invokevirtual jflex.state.StateSet.clear:()V
3: aload 3
iload 1
invokevirtual jflex.state.StateSet.addState:(I)V
4: goto 14
5: StackMap locals: jflex.state.StateSet jflex.state.StateSet
StackMap stack:
aload 3
invokevirtual jflex.state.StateSet.getAndRemoveElement:()I
istore 5
start local 5 6: aload 3
aload 4
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 5
aaload
invokevirtual jflex.state.StateSet.complement:(Ljflex/state/StateSet;)Ljflex/state/StateSet;
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
7: aload 4
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 5
aaload
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
8: iconst_0
istore 6
start local 6 9: goto 13
10: StackMap locals: int int
StackMap stack:
aload 3
aload 4
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 5
aaload
iload 6
aaload
invokevirtual jflex.state.StateSet.complement:(Ljflex/state/StateSet;)Ljflex/state/StateSet;
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
11: aload 4
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 5
aaload
iload 6
aaload
invokevirtual jflex.state.StateSet.add:(Ljflex/state/StateSet;)V
12: iinc 6 1
StackMap locals:
StackMap stack:
13: iload 6
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 10
end local 6 end local 5 14: StackMap locals:
StackMap stack:
aload 3
invokevirtual jflex.state.StateSet.containsElements:()Z
ifne 5
15: new jflex.state.StateSet
dup
aload 0
getfield jflex.core.NFA.numStates:I
iload 2
invokespecial jflex.state.StateSet.<init>:(II)V
astore 5
start local 5 16: iconst_1
istore 6
start local 6 17: goto 41
18: StackMap locals: jflex.state.StateSet int
StackMap stack:
iconst_0
istore 6
19: new java.lang.StringBuilder
dup
ldc "live: "
invokespecial java.lang.StringBuilder.<init>:(Ljava/lang/String;)V
aload 5
invokevirtual java.lang.StringBuilder.append:(Ljava/lang/Object;)Ljava/lang/StringBuilder;
invokevirtual java.lang.StringBuilder.toString:()Ljava/lang/String;
invokestatic jflex.logging.Out.debug:(Ljava/lang/String;)V
20: aload 5
aload 4
invokevirtual jflex.state.StateSet.complement:(Ljflex/state/StateSet;)Ljflex/state/StateSet;
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 8
goto 40
StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int top java.util.Iterator
StackMap stack:
21: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 22: iconst_0
istore 9
start local 9 23: goto 32
24: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int int java.util.Iterator int
StackMap stack:
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 7
aaload
iload 9
aaload
ifnull 31
25: aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 7
aaload
iload 9
aaload
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 11
goto 30
StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int int java.util.Iterator int top java.util.Iterator
StackMap stack:
26: aload 11
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 10
start local 10 27: aload 5
iload 10
invokevirtual jflex.state.StateSet.hasElement:(I)Z
ifeq 30
28: iconst_1
istore 6
29: aload 5
iload 7
invokevirtual jflex.state.StateSet.addState:(I)V
end local 10 30: StackMap locals:
StackMap stack:
aload 11
invokeinterface java.util.Iterator.hasNext:()Z
ifne 26
31: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int int java.util.Iterator int
StackMap stack:
iinc 9 1
StackMap locals:
StackMap stack:
32: iload 9
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 24
end local 9 33: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 7
aaload
ifnull 40
34: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 7
aaload
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 10
goto 39
StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int int java.util.Iterator top java.util.Iterator
StackMap stack:
35: aload 10
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 9
start local 9 36: aload 5
iload 9
invokevirtual jflex.state.StateSet.hasElement:(I)Z
ifeq 39
37: iconst_1
istore 6
38: aload 5
iload 7
invokevirtual jflex.state.StateSet.addState:(I)V
end local 9 39: StackMap locals:
StackMap stack:
aload 10
invokeinterface java.util.Iterator.hasNext:()Z
ifne 35
end local 7 40: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 21
41: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int
StackMap stack:
iload 6
ifne 18
42: aload 4
aload 5
invokevirtual jflex.state.StateSet.equals:(Ljava/lang/Object;)Z
ifne 52
43: aload 4
invokevirtual jflex.state.StateSet.iterator:()Ljava/util/Iterator;
astore 8
goto 51
StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int top java.util.Iterator
StackMap stack:
44: aload 8
invokeinterface java.util.Iterator.next:()Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
istore 7
start local 7 45: iconst_0
istore 9
start local 9 46: goto 49
StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int int java.util.Iterator int
StackMap stack:
47: aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 7
aaload
iload 9
aaload
ifnull 48
aload 0
getfield jflex.core.NFA.table:[[Ljflex/state/StateSet;
iload 7
aaload
iload 9
aaload
aload 5
invokevirtual jflex.state.StateSet.intersect:(Ljflex/state/StateSet;)V
StackMap locals:
StackMap stack:
48: iinc 9 1
StackMap locals:
StackMap stack:
49: iload 9
aload 0
getfield jflex.core.NFA.numInput:I
if_icmplt 47
end local 9 50: aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 7
aaload
ifnull 51
aload 0
getfield jflex.core.NFA.epsilon:[Ljflex/state/StateSet;
iload 7
aaload
aload 5
invokevirtual jflex.state.StateSet.intersect:(Ljflex/state/StateSet;)V
end local 7 51: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int top java.util.Iterator
StackMap stack:
aload 8
invokeinterface java.util.Iterator.hasNext:()Z
ifne 44
52: StackMap locals: jflex.core.NFA int int jflex.state.StateSet jflex.state.StateSet jflex.state.StateSet int
StackMap stack:
return
end local 6 end local 5 end local 4 end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 53 0 this Ljflex/core/NFA;
0 53 1 start I
0 53 2 end I
1 53 3 notvisited Ljflex/state/StateSet;
2 53 4 reachable Ljflex/state/StateSet;
6 14 5 state I
9 14 6 i I
16 53 5 live Ljflex/state/StateSet;
17 53 6 changed Z
22 40 7 s I
23 33 9 i I
27 30 10 state I
36 39 9 state I
45 51 7 s I
46 50 9 i I
MethodParameters:
Name Flags
start
end
private void insertCCLNFA(jflex.core.RegExp, int, int);
descriptor: (Ljflex/core/RegExp;II)V
flags: (0x0002) ACC_PRIVATE
Code:
stack=5, locals=5, args_size=4
start local 0 start local 1 start local 2 start local 3 0: aload 1
getfield jflex.core.RegExp.type:I
lookupswitch { // 4
41: 1
47: 7
55: 5
58: 9
default: 11
}
1: StackMap locals:
StackMap stack:
aload 1
checkcast jflex.core.RegExp2
astore 4
start local 4 2: aload 0
aload 4
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
iload 2
iload 3
invokevirtual jflex.core.NFA.insertCCLNFA:(Ljflex/core/RegExp;II)V
3: aload 0
aload 4
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
iload 2
iload 3
invokevirtual jflex.core.NFA.insertCCLNFA:(Ljflex/core/RegExp;II)V
4: return
end local 4 5: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.unicode.IntCharSet
iload 2
iload 3
invokevirtual jflex.core.NFA.insertClassNFA:(Ljflex/core/unicode/IntCharSet;II)V
6: return
7: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 2
iload 3
invokevirtual jflex.core.NFA.insertLetterNFA:(ZIII)V
8: return
9: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.Integer
invokevirtual java.lang.Integer.intValue:()I
iload 2
iload 3
invokevirtual jflex.core.NFA.insertLetterNFA:(ZIII)V
10: return
11: StackMap locals:
StackMap stack:
new jflex.core.RegExpException
dup
aload 1
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 3 end local 2 end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 12 0 this Ljflex/core/NFA;
0 12 1 regExp Ljflex/core/RegExp;
0 12 2 start I
0 12 3 end I
2 5 4 r Ljflex/core/RegExp2;
MethodParameters:
Name Flags
regExp
start
end
public jflex.base.IntPair insertNFA(jflex.core.RegExp);
descriptor: (Ljflex/core/RegExp;)Ljflex/base/IntPair;
flags: (0x0001) ACC_PUBLIC
Code:
stack=4, locals=7, args_size=2
start local 0 start local 1 0: aload 1
invokevirtual jflex.core.RegExp.isCharClass:()Z
ifeq 7
1: aload 0
getfield jflex.core.NFA.numStates:I
istore 4
start local 4 2: aload 0
getfield jflex.core.NFA.numStates:I
iconst_1
iadd
istore 5
start local 5 3: aload 0
iload 5
iconst_1
iadd
invokevirtual jflex.core.NFA.ensureCapacity:(I)V
4: aload 0
iload 5
iconst_1
iadd
putfield jflex.core.NFA.numStates:I
5: aload 0
aload 1
iload 4
iload 5
invokevirtual jflex.core.NFA.insertCCLNFA:(Ljflex/core/RegExp;II)V
6: iload 4
iload 5
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 5 end local 4 7: StackMap locals:
StackMap stack:
aload 1
getfield jflex.core.RegExp.type:I
tableswitch { // 39 - 57
39: 23
40: 31
41: 8
42: 38
43: 45
44: 45
45: 41
46: 42
47: 45
48: 43
49: 45
50: 45
51: 45
52: 45
53: 45
54: 45
55: 45
56: 18
57: 44
default: 45
}
8: StackMap locals:
StackMap stack:
aload 1
checkcast jflex.core.RegExp2
astore 6
start local 6 9: aload 0
aload 6
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 10: aload 0
aload 6
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 3
start local 3 11: aload 3
invokevirtual jflex.base.IntPair.end:()I
iconst_1
iadd
istore 4
start local 4 12: aload 3
invokevirtual jflex.base.IntPair.end:()I
iconst_2
iadd
istore 5
start local 5 13: aload 0
iload 4
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
14: aload 0
iload 4
aload 3
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
15: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
iload 5
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
16: aload 0
aload 3
invokevirtual jflex.base.IntPair.end:()I
iload 5
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
17: iload 4
iload 5
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 6 end local 5 end local 4 end local 3 end local 2 18: StackMap locals:
StackMap stack:
aload 1
checkcast jflex.core.RegExp2
astore 6
start local 6 19: aload 0
aload 6
getfield jflex.core.RegExp2.r1:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 20: aload 0
aload 6
getfield jflex.core.RegExp2.r2:Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 3
start local 3 21: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 3
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
22: aload 2
invokevirtual jflex.base.IntPair.start:()I
aload 3
invokevirtual jflex.base.IntPair.end:()I
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 6 end local 3 end local 2 23: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 24: aload 2
invokevirtual jflex.base.IntPair.end:()I
iconst_1
iadd
istore 4
start local 4 25: aload 2
invokevirtual jflex.base.IntPair.end:()I
iconst_2
iadd
istore 5
start local 5 26: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
iload 5
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
27: aload 0
iload 4
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
28: aload 0
iload 4
iload 5
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
29: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
30: iload 4
iload 5
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 5 end local 4 end local 2 31: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 32: aload 2
invokevirtual jflex.base.IntPair.end:()I
iconst_1
iadd
istore 4
start local 4 33: aload 2
invokevirtual jflex.base.IntPair.end:()I
iconst_2
iadd
istore 5
start local 5 34: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
iload 5
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
35: aload 0
iload 4
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
36: aload 0
aload 2
invokevirtual jflex.base.IntPair.end:()I
aload 2
invokevirtual jflex.base.IntPair.start:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
37: iload 4
iload 5
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 5 end local 4 end local 2 38: StackMap locals:
StackMap stack:
aload 0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
astore 2
start local 2 39: aload 0
aload 2
invokevirtual jflex.base.IntPair.start:()I
aload 2
invokevirtual jflex.base.IntPair.end:()I
invokevirtual jflex.core.NFA.addEpsilonTransition:(II)V
40: aload 2
invokevirtual jflex.base.IntPair.start:()I
aload 2
invokevirtual jflex.base.IntPair.end:()I
invokestatic jflex.base.IntPair.create:(II)Ljflex/base/IntPair;
areturn
end local 2 41: StackMap locals:
StackMap stack:
aload 0
aload 0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast jflex.core.RegExp
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
invokevirtual jflex.core.NFA.complement:(Ljflex/base/IntPair;)Ljflex/base/IntPair;
areturn
42: StackMap locals:
StackMap stack:
aload 0
aload 1
invokevirtual jflex.core.RegExp.resolveTilde:()Ljflex/core/RegExp;
invokevirtual jflex.core.NFA.insertNFA:(Ljflex/core/RegExp;)Ljflex/base/IntPair;
areturn
43: StackMap locals:
StackMap stack:
aload 0
iconst_0
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual jflex.core.NFA.insertStringNFA:(ZLjava/lang/String;)Ljflex/base/IntPair;
areturn
44: StackMap locals:
StackMap stack:
aload 0
iconst_1
aload 1
checkcast jflex.core.RegExp1
getfield jflex.core.RegExp1.content:Ljava/lang/Object;
checkcast java.lang.String
invokevirtual jflex.core.NFA.insertStringNFA:(ZLjava/lang/String;)Ljflex/base/IntPair;
areturn
45: StackMap locals:
StackMap stack:
new jflex.core.RegExpException
dup
aload 1
invokespecial jflex.core.RegExpException.<init>:(Ljflex/core/RegExp;)V
athrow
end local 1 end local 0 LocalVariableTable:
Start End Slot Name Signature
0 46 0 this Ljflex/core/NFA;
0 46 1 regExp Ljflex/core/RegExp;
10 18 2 nfa1 Ljflex/base/IntPair;
20 23 2 nfa1 Ljflex/base/IntPair;
24 31 2 nfa1 Ljflex/base/IntPair;
32 38 2 nfa1 Ljflex/base/IntPair;
39 41 2 nfa1 Ljflex/base/IntPair;
11 18 3 nfa2 Ljflex/base/IntPair;
21 23 3 nfa2 Ljflex/base/IntPair;
2 7 4 start I
12 18 4 start I
25 31 4 start I
33 38 4 start I
3 7 5 end I
13 18 5 end I
26 31 5 end I
34 38 5 end I
9 18 6 r Ljflex/core/RegExp2;
19 23 6 r Ljflex/core/RegExp2;
MethodParameters:
Name Flags
regExp
}
SourceFile: "NFA.java"
InnerClasses:
public ErrorMessage = jflex.l10n.ErrorMessages$ErrorMessage of jflex.l10n.ErrorMessages