Class AssemblyParseTransitionTable
- java.lang.Object
-
- ghidra.app.plugin.assembler.sleigh.parse.AssemblyParseTransitionTable
-
public class AssemblyParseTransitionTable extends java.lang.Object
The transition table defining an LR(0) parsing machine
-
-
Constructor Summary
Constructors Constructor Description AssemblyParseTransitionTable()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description void
forEach(java.util.function.Consumer<TableEntry<java.lang.Integer>> consumer)
Traverse every entry in the table, invokingConsumer.accept(Object)
on eachjava.lang.Integer
get(int fromState, AssemblySymbol next)
Get an entry from the state machinejava.lang.Integer
put(int fromState, AssemblySymbol next, int newState)
Put an entry into the state machine
-
-
-
Method Detail
-
put
public java.lang.Integer put(int fromState, AssemblySymbol next, int newState)
Put an entry into the state machine- Parameters:
fromState
- the source statenext
- the symbol that is matchednewState
- the destination state- Returns:
- the previous value for newState NOTE: Generally, if this return non-null, something is probably wrong with your LR(0) machine generator
-
get
public java.lang.Integer get(int fromState, AssemblySymbol next)
Get an entry from the state machine- Parameters:
fromState
- the source statenext
- the symbol that has been matched- Returns:
- the destination state
-
forEach
public void forEach(java.util.function.Consumer<TableEntry<java.lang.Integer>> consumer)
Traverse every entry in the table, invokingConsumer.accept(Object)
on each- Parameters:
consumer
- the callback
-
-