Class AssemblyExtendedGrammar
java.lang.Object
ghidra.app.plugin.assembler.sleigh.grammars.AbstractAssemblyGrammar<AssemblyExtendedNonTerminal,AssemblyExtendedProduction>
ghidra.app.plugin.assembler.sleigh.grammars.AssemblyExtendedGrammar
- All Implemented Interfaces:
Iterable<AssemblyExtendedProduction>
public class AssemblyExtendedGrammar
extends AbstractAssemblyGrammar<AssemblyExtendedNonTerminal,AssemblyExtendedProduction>
Defines an "extended" grammar
"Extended grammar" as in a grammar extended with state numbers from an LR0 parser. See LALR(1) Parsing from Stephen Jackson of Dalhousie University, Halifax, Nova Scotia, Canada.
-
Field Summary
Fields inherited from class ghidra.app.plugin.assembler.sleigh.grammars.AbstractAssemblyGrammar
nonterminals, prodList, productions, startName, symbols, terminals -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected AssemblyExtendedProductionBecause a subclass may have a different type of production, it must provide a mechanism for constructing an appropriate production given just the LHS and RHS.Methods inherited from class ghidra.app.plugin.assembler.sleigh.grammars.AbstractAssemblyGrammar
addProduction, addProduction, combine, contains, getNonTerminal, getStart, getStartName, getTerminal, isPureRecursive, iterator, nonTerminals, print, productionsOf, productionsOf, setStart, setStartName, terminals, verifyMethods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
AssemblyExtendedGrammar
public AssemblyExtendedGrammar()
-
-
Method Details
-
newProduction
protected AssemblyExtendedProduction newProduction(AssemblyExtendedNonTerminal lhs, AssemblySentential<AssemblyExtendedNonTerminal> rhs) Description copied from class:AbstractAssemblyGrammarBecause a subclass may have a different type of production, it must provide a mechanism for constructing an appropriate production given just the LHS and RHS.- Specified by:
newProductionin classAbstractAssemblyGrammar<AssemblyExtendedNonTerminal,AssemblyExtendedProduction> - Parameters:
lhs- the left-hand side of the productionrhs- the right-hand side of the production- Returns:
- the constructed production
-