A B C D E F G H I M N P R S T U V W 
All Classes All Packages

A

accept(Visitor) - Method in class net.emustudio.edigen.nodes.Decoder
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Disassembler
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Format
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Mask
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Pattern
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Rule
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Specification
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Subrule
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.TreeNode
Calls the appropriate visitor method.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Value
Accepts the visitor.
accept(Visitor) - Method in class net.emustudio.edigen.nodes.Variant
Accepts the visitor.
acceptChildren(Visitor) - Method in class net.emustudio.edigen.nodes.TreeNode
Sequentially calls the TreeNode.accept(Visitor) method for all children.
addChild(TreeNode) - Method in class net.emustudio.edigen.nodes.TreeNode
Adds a child to this node, placing it on the end.
addChildren(List<TreeNode>) - Method in class net.emustudio.edigen.nodes.TreeNode
 
addChildren(TreeNode...) - Method in class net.emustudio.edigen.nodes.TreeNode
Adds multiple children to this node, placing them on the end.
and(BitSequence) - Method in class net.emustudio.edigen.misc.BitSequence
Returns a bit sequence ANDed with an other bit sequence.
and(Mask) - Method in class net.emustudio.edigen.nodes.Mask
Returns a mask ANDed with an another mask.
and(Mask) - Method in class net.emustudio.edigen.nodes.Pattern
Returns a pattern ANDed with the specified mask.
append(boolean) - Method in class net.emustudio.edigen.misc.BitSequence
Appends one bit to the end of this sequence.
append(BitSequence) - Method in class net.emustudio.edigen.misc.BitSequence
Appends another bit sequence to the end of this sequence.
Argument - Class in net.emustudio.edigen.ui
A command line argument specification.
Argument(String, String, Setting) - Constructor for class net.emustudio.edigen.ui.Argument
Constructs a flag or a value argument.
Argument(String, Setting) - Constructor for class net.emustudio.edigen.ui.Argument
Constructs an unnamed mandatory argument.
Argument.Type - Enum in net.emustudio.edigen.ui
An argument type.

B

BitSequence - Class in net.emustudio.edigen.misc
A sequence of bits with defined but modifiable length.
BitSequence() - Constructor for class net.emustudio.edigen.misc.BitSequence
Constructs a bit sequence with zero length.
BitSequence(int) - Constructor for class net.emustudio.edigen.misc.BitSequence
Constructs a bit sequence with the specified length.
BitSequence(int, boolean) - Constructor for class net.emustudio.edigen.misc.BitSequence
Constructs a bit sequence with the specified length and fills it with the specified value.

C

childCount() - Method in class net.emustudio.edigen.nodes.TreeNode
Returns the number of all direct children of this node.
CommandLine - Class in net.emustudio.edigen.ui
The command line argument parser.
CommandLine(Argument[]) - Constructor for class net.emustudio.edigen.ui.CommandLine
Constructs the command line parser for the given list of possible arguments, their types, etc.
CommandLineException - Exception in net.emustudio.edigen.ui
An exception thrown when the command line arguments are invalid.
CommandLineException(String) - Constructor for exception net.emustudio.edigen.ui.CommandLineException
Constructs the exception.
containsOnly(boolean) - Method in class net.emustudio.edigen.misc.BitSequence
Returns true if the sequence contains only bits of the specified value.
copy() - Method in class net.emustudio.edigen.nodes.TreeNode
 

D

DEBUG - net.emustudio.edigen.Setting
If set, the program will run in the debug mode (printing the tree after each transformation).
Decoder - Class in net.emustudio.edigen.nodes
The root node of the instruction decoder subtree.
Decoder() - Constructor for class net.emustudio.edigen.nodes.Decoder
Creates new decoder.
Decoder(String...) - Constructor for class net.emustudio.edigen.nodes.Decoder
Creates new decoder.
Decoder(Set<String>) - Constructor for class net.emustudio.edigen.nodes.Decoder
Creates new decoder.
DECODER_DIRECTORY - net.emustudio.edigen.Setting
An output directory of the generated instruction decoder file.
DECODER_NAME - net.emustudio.edigen.Setting
The package + class name of the generated instruction decoder.
DECODER_PACKAGE - net.emustudio.edigen.Setting
The generated decoder will be a member of this package.
DECODER_TEMPLATE - net.emustudio.edigen.Setting
The external decoder template to use (instead of the internal, default template).
DecoderGenerator - Class in net.emustudio.edigen.generation
The instruction decoder generator.
DecoderGenerator(Decoder, String) - Constructor for class net.emustudio.edigen.generation.DecoderGenerator
Constructs the instruction decoder generator.
DetectAmbiguousVisitor - Class in net.emustudio.edigen.passes
A visitor which checks for ambiguous variants.
DetectAmbiguousVisitor() - Constructor for class net.emustudio.edigen.passes.DetectAmbiguousVisitor
 
DetectRootRulesVisitor - Class in net.emustudio.edigen.passes
Detects root rules, including undefined root rules.
DetectRootRulesVisitor() - Constructor for class net.emustudio.edigen.passes.DetectRootRulesVisitor
 
DetectUnreachableFormatsVisitor - Class in net.emustudio.edigen.passes
Detects unreachable disassembler formats.
DetectUnreachableFormatsVisitor() - Constructor for class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
DetectUnusedRulesVisitor - Class in net.emustudio.edigen.passes
A visitor which finds unused rules.
DetectUnusedRulesVisitor() - Constructor for class net.emustudio.edigen.passes.DetectUnusedRulesVisitor
 
Disassembler - Class in net.emustudio.edigen.nodes
The root node of the disassembler subtree.
Disassembler() - Constructor for class net.emustudio.edigen.nodes.Disassembler
 
DISASSEMBLER_DIRECTORY - net.emustudio.edigen.Setting
An output directory of the generated disassembler file.
DISASSEMBLER_NAME - net.emustudio.edigen.Setting
The package + class name of the generated disassembler.
DISASSEMBLER_PACKAGE - net.emustudio.edigen.Setting
The generated disassembler will be a member of this package.
DISASSEMBLER_TEMPLATE - net.emustudio.edigen.Setting
The external disassembler template to use (instead of the internal, default template).
DisassemblerGenerator - Class in net.emustudio.edigen.generation
The disassembler generator.
DisassemblerGenerator(Disassembler, String, String) - Constructor for class net.emustudio.edigen.generation.DisassemblerGenerator
Constructs the disassembler generator.
dump(PrintStream) - Method in class net.emustudio.edigen.nodes.TreeNode
Prints the whole tree recursively.

E

Edigen - Class in net.emustudio.edigen
The main application class.
Edigen() - Constructor for class net.emustudio.edigen.Edigen
 
equals(Object) - Method in class net.emustudio.edigen.misc.BitSequence
Checks whether the other bit sequence has exactly the same content and length as this sequence.
equals(Object) - Method in class net.emustudio.edigen.nodes.Mask
 
equals(Object) - Method in class net.emustudio.edigen.nodes.Pattern
 
equals(Object) - Method in class net.emustudio.edigen.nodes.Rule
 
equals(Object) - Method in class net.emustudio.edigen.nodes.Subrule
 
equals(Object) - Method in class net.emustudio.edigen.nodes.Value
 
equals(Object) - Method in class net.emustudio.edigen.nodes.Variant
 

F

fillTemplate(Template) - Method in class net.emustudio.edigen.generation.DecoderGenerator
Fills the template with variables and the generated code.
fillTemplate(Template) - Method in class net.emustudio.edigen.generation.DisassemblerGenerator
Fills the template with variables and the generated code.
fillTemplate(Template) - Method in class net.emustudio.edigen.generation.Generator
Sets the variables used in the template file.
FLAG - net.emustudio.edigen.ui.Argument.Type
An argument without any value (a flag, e.g.
Format - Class in net.emustudio.edigen.nodes
A node representing a textual instruction format (used in a disassembler).
Format(String) - Constructor for class net.emustudio.edigen.nodes.Format
Constructs the format node.
fromBinary(String) - Static method in class net.emustudio.edigen.misc.BitSequence
Returns a new instance of bit sequence with the length and content obtained from the binary number represented as a string.
fromHexadecimal(String) - Static method in class net.emustudio.edigen.misc.BitSequence
Returns a new instance of bit sequence with the length and content obtained from the hexadecimal number represented as a string.

G

generate() - Method in class net.emustudio.edigen.generation.Generator
Generates the output file from the current AST.
generate() - Method in class net.emustudio.edigen.ui.Help
Generates the help text.
GenerateFieldsVisitor - Class in net.emustudio.edigen.generation
A visitor which generates Java source code of the instruction decoder fields for rules and values.
GenerateFieldsVisitor(Writer) - Constructor for class net.emustudio.edigen.generation.GenerateFieldsVisitor
Constucts the visitor.
GenerateFormatsVisitor - Class in net.emustudio.edigen.generation
A visitor which generates the code of the array of disassembler formats.
GenerateFormatsVisitor(Writer) - Constructor for class net.emustudio.edigen.generation.GenerateFormatsVisitor
Constucts the visitor.
GenerateMaxInstructionBytes - Class in net.emustudio.edigen.generation
Finds out max instruction size in bytes.
GenerateMaxInstructionBytes(Writer) - Constructor for class net.emustudio.edigen.generation.GenerateMaxInstructionBytes
Constructs the visitor.
GenerateMethodsVisitor - Class in net.emustudio.edigen.generation
A visitor which generates Java source code of the instruction decoder methods for all rules.
GenerateMethodsVisitor(Writer) - Constructor for class net.emustudio.edigen.generation.GenerateMethodsVisitor
Constructs the visitor.
GenerateParametersVisitor - Class in net.emustudio.edigen.generation
A visitor which generates the code of the two-dimensional array of disassembler parameters (i.e., values on the right side of a format).
GenerateParametersVisitor(Writer) - Constructor for class net.emustudio.edigen.generation.GenerateParametersVisitor
Constucts the visitor.
Generator - Class in net.emustudio.edigen.generation
An output code generator.
Generator(String, String) - Constructor for class net.emustudio.edigen.generation.Generator
Constructs the part of the generator.
get(int) - Method in class net.emustudio.edigen.misc.BitSequence
Returns the bit at the given index.
getBits() - Method in class net.emustudio.edigen.nodes.Mask
Returns the bit sequence.
getBits() - Method in class net.emustudio.edigen.nodes.Pattern
Returns the bit sequence.
getChild(int) - Method in class net.emustudio.edigen.nodes.TreeNode
Returns the child at given index.
getChildren() - Method in class net.emustudio.edigen.nodes.TreeNode
Returns all children of this node.
getClassName() - Method in class net.emustudio.edigen.generation.Generator
Returns the class name (without the package name).
getDecoder() - Method in class net.emustudio.edigen.nodes.Specification
Returns the instruction decoder node.
getDescription() - Method in class net.emustudio.edigen.ui.Argument
Returns the description used in the help text.
getDisassembler() - Method in class net.emustudio.edigen.nodes.Specification
Returns the disassembler node.
getFieldName() - Method in class net.emustudio.edigen.nodes.Rule
Returns a field name of this rule (key).
getFieldName() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the field name which should be generated for this subrule.
getFieldName() - Method in class net.emustudio.edigen.nodes.Value
Returns the field name which should be generated for this value.
getFieldName() - Method in class net.emustudio.edigen.nodes.Variant
Returns the generated field name if the variant returns a string.
getFieldName(String) - Method in class net.emustudio.edigen.nodes.Rule
Returns a field name which should be generated for this rule (key).
getFormatString() - Method in class net.emustudio.edigen.nodes.Format
Returns the format string.
getKey() - Method in class net.emustudio.edigen.ui.Argument
Returns the key to which the recognized value will be later assigned.
getLabel() - Method in class net.emustudio.edigen.nodes.Rule
Returns a human-readable label of this rule - a name or a list of names separated by commas.
getLength() - Method in class net.emustudio.edigen.misc.BitSequence
Returns the total length of this bit sequence.
getLength() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the subrule length.
getLine() - Method in class net.emustudio.edigen.nodes.TreeNode
Returns the starting line number in the source file from which this node was generated.
getMandatoryArguments() - Method in class net.emustudio.edigen.ui.CommandLine
Returns a list of all expected mandatory arguments.
getMethodName() - Method in class net.emustudio.edigen.nodes.Rule
Returns a name of the method which should be generated for this rule.
getName() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the subrule name, as obtained from the input.
getName() - Method in class net.emustudio.edigen.nodes.Value
Returns the name, as obtained from the input.
getNames() - Method in class net.emustudio.edigen.nodes.Rule
Returns a list of all names of this rule.
getOption() - Method in class net.emustudio.edigen.ui.Argument
Returns the option name, e.g.
getOptionalArguments() - Method in class net.emustudio.edigen.ui.CommandLine
Returns a list of all possible optional arguments.
getPackageName() - Method in class net.emustudio.edigen.generation.Generator
Returns the package name.
getParent() - Method in class net.emustudio.edigen.nodes.TreeNode
Returns the parent of this node.
getPrePattern() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the forward pattern information.
getReachable() - Method in class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
getReturnString() - Method in class net.emustudio.edigen.nodes.Variant
Returns the string which this variant returns.
getReturnSubrule() - Method in class net.emustudio.edigen.nodes.Variant
Returns the subrule which this variant returns.
getRootRule() - Method in class net.emustudio.edigen.nodes.Decoder
Returns the first starting rule.
getRootRuleName() - Method in class net.emustudio.edigen.nodes.Rule
Get root rule name (if this rule is root).
getRootRuleNames() - Method in class net.emustudio.edigen.nodes.Decoder
Returns the starting rules names.
getRootRules() - Method in class net.emustudio.edigen.nodes.Decoder
Returns all starting rule variants.
getRule() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the rule to which this subrule refers.
getRule() - Method in class net.emustudio.edigen.nodes.Value
Returns the rule associated with this value.
getStart() - Method in class net.emustudio.edigen.nodes.Mask
Returns the starting offset relative to the variant start.
getStart() - Method in class net.emustudio.edigen.nodes.Subrule
Returns the starting offset relative to the variant start.
getStrategies() - Method in class net.emustudio.edigen.nodes.Value
Returns the constant decoding strategies.
getType() - Method in class net.emustudio.edigen.ui.Argument
Returns the argument type.
getValue() - Method in class net.emustudio.edigen.ui.Argument
Returns the value name suitable for printing in a help text, e.g.
GroupVisitor - Class in net.emustudio.edigen.passes
Groups sibling masks or patterns containing the same bit sequences into one node.
GroupVisitor() - Constructor for class net.emustudio.edigen.passes.GroupVisitor
 

H

hashCode() - Method in class net.emustudio.edigen.misc.BitSequence
Returns the hash code of this sequence.
hashCode() - Method in class net.emustudio.edigen.nodes.Mask
 
hashCode() - Method in class net.emustudio.edigen.nodes.Pattern
 
hashCode() - Method in class net.emustudio.edigen.nodes.Rule
 
hashCode() - Method in class net.emustudio.edigen.nodes.Subrule
 
hashCode() - Method in class net.emustudio.edigen.nodes.TreeNode
 
hasOnlyOneName() - Method in class net.emustudio.edigen.nodes.Rule
Returns true if this rule has only one name (not a list of names separated by commas).
Help - Class in net.emustudio.edigen.ui
The command line help text generator.
Help(String, CommandLine) - Constructor for class net.emustudio.edigen.ui.Help
Consturcts the help generator.

I

IGNORE_UNUSED_RULES - net.emustudio.edigen.Setting
Ignore unused rules.
isRoot() - Method in class net.emustudio.edigen.nodes.Rule
Determines if it is a root rule

M

main(String[]) - Static method in class net.emustudio.edigen.Edigen
The application entry point used when running the program from the command line.
MANDATORY - net.emustudio.edigen.ui.Argument.Type
A mandatory argument.
Mask - Class in net.emustudio.edigen.nodes
Mask node - a sequence of bits used to filter another sequence during binary pattern matching.
Mask(BitSequence) - Constructor for class net.emustudio.edigen.nodes.Mask
Constructs the mask.
MergePatternsVisitor - Class in net.emustudio.edigen.passes
A visitor which merges multiple patterns of a variant into one mask + pattern.
MergePatternsVisitor() - Constructor for class net.emustudio.edigen.passes.MergePatternsVisitor
 

N

NarrowMasksVisitor - Class in net.emustudio.edigen.passes
A visitor which removes all child masks of a node except the first one, attaches them to a new empty pattern and attaches that pattern (if it is not empty) to the first mask.
NarrowMasksVisitor() - Constructor for class net.emustudio.edigen.passes.NarrowMasksVisitor
 
net.emustudio.edigen - package net.emustudio.edigen
 
net.emustudio.edigen.generation - package net.emustudio.edigen.generation
 
net.emustudio.edigen.misc - package net.emustudio.edigen.misc
 
net.emustudio.edigen.nodes - package net.emustudio.edigen.nodes
 
net.emustudio.edigen.passes - package net.emustudio.edigen.passes
 
net.emustudio.edigen.ui - package net.emustudio.edigen.ui
 

P

parse(String[]) - Method in class net.emustudio.edigen.ui.CommandLine
Parses the given argument list.
Pattern - Class in net.emustudio.edigen.nodes
Pattern node - a sequence of bits used during instruction decoding.
Pattern(BitSequence) - Constructor for class net.emustudio.edigen.nodes.Pattern
Constructs a pattern.
PrettyPrinter - Class in net.emustudio.edigen.misc
Minimalistic on-the-fly Java source code pretty-printer.
PrettyPrinter(Writer) - Constructor for class net.emustudio.edigen.misc.PrettyPrinter
Constructs the pretty printer.
PushDownVariantsVisitor - Class in net.emustudio.edigen.passes
A visitor which pushes the variant nodes down to the bottom of the tree.
PushDownVariantsVisitor() - Constructor for class net.emustudio.edigen.passes.PushDownVariantsVisitor
 

R

remove() - Method in class net.emustudio.edigen.nodes.TreeNode
Removes this node from the tree.
RemoveUnreachablePatternsVisitor - Class in net.emustudio.edigen.passes
A visitor which removes patterns which are children of zero-only masks.
RemoveUnreachablePatternsVisitor() - Constructor for class net.emustudio.edigen.passes.RemoveUnreachablePatternsVisitor
 
ResolveNamesVisitor - Class in net.emustudio.edigen.passes
A visitor which creates associations between objects according to their names obtained from the input file.
ResolveNamesVisitor() - Constructor for class net.emustudio.edigen.passes.ResolveNamesVisitor
 
returns() - Method in class net.emustudio.edigen.nodes.Variant
Returns true if the variant returns a string or a subrule.
Rule - Class in net.emustudio.edigen.nodes
Instruction decoder rule node.
Rule(String) - Constructor for class net.emustudio.edigen.nodes.Rule
Constructs a rule with one name.
Rule(List<String>) - Constructor for class net.emustudio.edigen.nodes.Rule
Constructs a rule with one or more names.
run(String[]) - Method in class net.emustudio.edigen.Edigen
Runs the generator without calling System.exit() - useful when running from a Maven plugin.

S

SemanticCheckVisitor - Class in net.emustudio.edigen.passes
A visitor which checks for additional semantic errors (not directly related to name resolution).
SemanticCheckVisitor() - Constructor for class net.emustudio.edigen.passes.SemanticCheckVisitor
 
SemanticException - Exception in net.emustudio.edigen
This class represents an error found during semantic analysis, for example a duplicate rule name.
SemanticException(String, TreeNode) - Constructor for exception net.emustudio.edigen.SemanticException
Constructs a semantic exception.
set(int, boolean) - Method in class net.emustudio.edigen.misc.BitSequence
Sets the bit at the given index to the specified value.
setLine(Integer) - Method in class net.emustudio.edigen.nodes.TreeNode
Sets the starting source line number of this node.
setOutputDirectory(String) - Method in class net.emustudio.edigen.generation.Generator
Sets the directory to write the generated file to.
setReturnString(String) - Method in class net.emustudio.edigen.nodes.Variant
Tells the variant to return the string on match.
setReturnSubrule(Subrule) - Method in class net.emustudio.edigen.nodes.Variant
Tells the variant to return the value of the specified subrule.
setRoot(boolean, String) - Method in class net.emustudio.edigen.nodes.Rule
Sets if this rule is a root rule.
setRootRules(Set<Rule>) - Method in class net.emustudio.edigen.nodes.Decoder
Set starting rules.
setRule(Rule) - Method in class net.emustudio.edigen.nodes.Subrule
Specifies to which rule this subrule refers.
setRule(Rule) - Method in class net.emustudio.edigen.nodes.Value
Sets the rule associated with this value.
setStart(int) - Method in class net.emustudio.edigen.nodes.Mask
Sets the starting offset relative to the variant start.
setStart(int) - Method in class net.emustudio.edigen.nodes.Subrule
Sets the starting offset relative to the variant start.
setStrategies(List<String>) - Method in class net.emustudio.edigen.nodes.Value
Sets the constant decoding strategy.
setTemplateFile(String) - Method in class net.emustudio.edigen.generation.Generator
Sets the template file to use instead of the default one.
Setting - Enum in net.emustudio.edigen
An enumeration of possible program configuration settings, usually read from the command line.
setVariable(String, String) - Method in class net.emustudio.edigen.misc.Template
Sets a value of a variable.
shallowCopy() - Method in class net.emustudio.edigen.nodes.Decoder
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Disassembler
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Format
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Mask
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Pattern
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Rule
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Specification
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Subrule
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.TreeNode
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Value
 
shallowCopy() - Method in class net.emustudio.edigen.nodes.Variant
 
SortVisitor - Class in net.emustudio.edigen.passes
A visitor sorting the variants by the lengths of their masks - from the shortest to the longest one.
SortVisitor() - Constructor for class net.emustudio.edigen.passes.SortVisitor
 
Specification - Class in net.emustudio.edigen.nodes
The root node of the specification AST.
Specification(Decoder, Disassembler) - Constructor for class net.emustudio.edigen.nodes.Specification
Constructs the specification node.
SPECIFICATION - net.emustudio.edigen.Setting
A specification file.
split(int) - Method in class net.emustudio.edigen.misc.BitSequence
Splits the sequence into shorter sequences of equal length.
SplitVisitor - Class in net.emustudio.edigen.passes
A visitor which splits the patterns and mask into smaller pieces of the same length (max length is equal to decoder unit size).
SplitVisitor() - Constructor for class net.emustudio.edigen.passes.SplitVisitor
 
Subrule - Class in net.emustudio.edigen.nodes
A subrule is a rule name contained in a variant.
Subrule(String) - Constructor for class net.emustudio.edigen.nodes.Subrule
Constructs the subrule with an unspecified length.
Subrule(String, Integer, Pattern) - Constructor for class net.emustudio.edigen.nodes.Subrule
Constructs the subrule with the specified length and pre-pattern.
Subrule(String, Pattern) - Constructor for class net.emustudio.edigen.nodes.Subrule
Constructs the subrule with the specified pre-pattern.
subSequence(int, int) - Method in class net.emustudio.edigen.misc.BitSequence
Returns the subsequence of the current bit sequence.

T

Template - Class in net.emustudio.edigen.misc
A simple templating system.
Template(BufferedReader, BufferedWriter) - Constructor for class net.emustudio.edigen.misc.Template
Constructs a template system.
toBooleanArray() - Method in class net.emustudio.edigen.misc.BitSequence
Returns this sequence as an array of boolean values.
toHexadecimal() - Method in class net.emustudio.edigen.misc.BitSequence
Returns the hexadecimal representation of this sequence.
toString() - Method in class net.emustudio.edigen.misc.BitSequence
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Decoder
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Disassembler
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Format
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Mask
Returns the mask as a string in binary notation.
toString() - Method in class net.emustudio.edigen.nodes.Pattern
Returns the pattern as a string in binary notation.
toString() - Method in class net.emustudio.edigen.nodes.Rule
Returns a string representation of the object containing a rule name.
toString() - Method in class net.emustudio.edigen.nodes.Specification
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Subrule
Returns a string representation of the object containing the rule name and optionally start and length.
toString() - Method in class net.emustudio.edigen.nodes.Value
Returns a string representation of the object.
toString() - Method in class net.emustudio.edigen.nodes.Variant
Returns the mask as a string in binary notation.
translate() - Method in class net.emustudio.edigen.Translator
Reads the input file, transforms the tree and generates the code.
Translator - Class in net.emustudio.edigen
A translator from the input file in the domain specific language (processor specification) to two output files (instruction decoder and disassembler) in the Java language.
Translator(Map<Setting, String>) - Constructor for class net.emustudio.edigen.Translator
Constructs the translator.
TreeNode - Class in net.emustudio.edigen.nodes
A node of an abstract syntax tree (AST).
TreeNode() - Constructor for class net.emustudio.edigen.nodes.TreeNode
 

U

UNIT_SIZE_BITS - Static variable in class net.emustudio.edigen.nodes.Decoder
Size (in bits) of one unit which decoder can read at once

V

Value - Class in net.emustudio.edigen.nodes
The disassembler value node - bound to an instruction decoder rule name.
Value(String) - Constructor for class net.emustudio.edigen.nodes.Value
Constructs the value.
VALUE - net.emustudio.edigen.ui.Argument.Type
An argument with one value (for example -v value).
valueOf(String) - Static method in enum net.emustudio.edigen.Setting
Returns the enum constant of this type with the specified name.
valueOf(String) - Static method in enum net.emustudio.edigen.ui.Argument.Type
Returns the enum constant of this type with the specified name.
values() - Static method in enum net.emustudio.edigen.Setting
Returns an array containing the constants of this enum type, in the order they are declared.
values() - Static method in enum net.emustudio.edigen.ui.Argument.Type
Returns an array containing the constants of this enum type, in the order they are declared.
Variant - Class in net.emustudio.edigen.nodes
Rule variant node.
Variant() - Constructor for class net.emustudio.edigen.nodes.Variant
 
visit(Decoder) - Method in class net.emustudio.edigen.generation.GenerateFieldsVisitor
Writes the constants.
visit(Decoder) - Method in class net.emustudio.edigen.generation.GenerateMaxInstructionBytes
 
visit(Decoder) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Finds out which root rules are available.
visit(Decoder) - Method in class net.emustudio.edigen.passes.DetectRootRulesVisitor
 
visit(Decoder) - Method in class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
visit(Decoder) - Method in class net.emustudio.edigen.passes.DetectUnusedRulesVisitor
 
visit(Decoder) - Method in class net.emustudio.edigen.passes.ResolveNamesVisitor
First saves all rule names and then traverses the rule subtrees.
visit(Decoder) - Method in class net.emustudio.edigen.Visitor
 
visit(Disassembler) - Method in class net.emustudio.edigen.generation.GenerateFormatsVisitor
Writes the formats separated by commas.
visit(Disassembler) - Method in class net.emustudio.edigen.generation.GenerateParametersVisitor
Writes the list of format sets separated by commas.
visit(Disassembler) - Method in class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
visit(Disassembler) - Method in class net.emustudio.edigen.Visitor
 
visit(Format) - Method in class net.emustudio.edigen.generation.GenerateFormatsVisitor
Saves the format string in the quotes into the variable.
visit(Format) - Method in class net.emustudio.edigen.generation.GenerateParametersVisitor
Writes the list of parameters separated by commas and enclosed in curly brackets.
visit(Format) - Method in class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
visit(Format) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Finds out whether the particular set of rules was not already used.
visit(Format) - Method in class net.emustudio.edigen.Visitor
 
visit(Mask) - Method in class net.emustudio.edigen.generation.GenerateMaxInstructionBytes
Detects max bits size of a mask and its children
visit(Mask) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Writes the unit reading code and if the mask is not zero-only, also writes the switch statement.
visit(Mask) - Method in class net.emustudio.edigen.passes.DetectAmbiguousVisitor
Adds the mask to the list of child masks.
visit(Mask) - Method in class net.emustudio.edigen.passes.GroupVisitor
If the current task is to save bits, saves them and returns the control; otherwise groups the mask's children and thus continues the traversal.
visit(Mask) - Method in class net.emustudio.edigen.passes.PushDownVariantsVisitor
Saves the topmost mask of the variant and dettaches it from the variant.
visit(Mask) - Method in class net.emustudio.edigen.passes.RemoveUnreachablePatternsVisitor
Removes the child pattern if the mask contains only zeroes.
visit(Mask) - Method in class net.emustudio.edigen.passes.SortVisitor
Adds the mask to the sorting list and detaches the parent variant.
visit(Mask) - Method in class net.emustudio.edigen.passes.SplitVisitor
Saves the mask bits and removes the node.
visit(Mask) - Method in class net.emustudio.edigen.Visitor
 
visit(Pattern) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Writes the case / default statement.
visit(Pattern) - Method in class net.emustudio.edigen.passes.DetectAmbiguousVisitor
Detects possible ambiguity under the pattern node and traverses the children.
visit(Pattern) - Method in class net.emustudio.edigen.passes.GroupVisitor
If the current task is to save bits, saves them and returns the control; otherwise groups the pattern's children and thus continues the traversal.
visit(Pattern) - Method in class net.emustudio.edigen.passes.MergePatternsVisitor
Appends "true" bits to the mask (because these bits will be checked during decoding) and itself to the pattern (these bits should be the result of masking during decoding).
visit(Pattern) - Method in class net.emustudio.edigen.passes.NarrowMasksVisitor
Moves all child masks of the pattern node except the first one.
visit(Pattern) - Method in class net.emustudio.edigen.passes.PushDownVariantsVisitor
Attaches the variant to the bottommost pattern.
visit(Pattern) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Checks whether a subrule without length was already defined in this variant.
visit(Pattern) - Method in class net.emustudio.edigen.passes.SplitVisitor
Saves the pattern bits and removes the node.
visit(Pattern) - Method in class net.emustudio.edigen.Visitor
 
visit(Rule) - Method in class net.emustudio.edigen.generation.GenerateFieldsVisitor
Adds the field names for the particular rule to the list.
visit(Rule) - Method in class net.emustudio.edigen.generation.GenerateMaxInstructionBytes
 
visit(Rule) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Writes the method definition.
visit(Rule) - Method in class net.emustudio.edigen.passes.DetectAmbiguousVisitor
Detects possible ambiguity under the rule node and traverses the children.
visit(Rule) - Method in class net.emustudio.edigen.passes.DetectRootRulesVisitor
Assigns rule objects to the mapping of names to objects.
visit(Rule) - Method in class net.emustudio.edigen.passes.DetectUnusedRulesVisitor
In case of the root rule traverses it and saves references to other rules.
visit(Rule) - Method in class net.emustudio.edigen.passes.GroupVisitor
Groups the rule recursively.
visit(Rule) - Method in class net.emustudio.edigen.passes.NarrowMasksVisitor
Moves all child masks of the rule node except the first one.
visit(Rule) - Method in class net.emustudio.edigen.passes.PushDownVariantsVisitor
Attaches the top mask of each variant to the rule.
visit(Rule) - Method in class net.emustudio.edigen.passes.ResolveNamesVisitor
Adds item(s) to the map from rule names to rules.
visit(Rule) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Adds the rule to the set of returning rules if one of its variants return.
visit(Rule) - Method in class net.emustudio.edigen.passes.SortVisitor
Collects the variants, sorts them by mask length and re-attaches them in the correct order.
visit(Rule) - Method in class net.emustudio.edigen.Visitor
 
visit(Specification) - Method in class net.emustudio.edigen.Visitor
 
visit(Subrule) - Method in class net.emustudio.edigen.generation.GenerateMaxInstructionBytes
 
visit(Subrule) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Writes the method invocation.
visit(Subrule) - Method in class net.emustudio.edigen.passes.DetectUnusedRulesVisitor
 
visit(Subrule) - Method in class net.emustudio.edigen.passes.MergePatternsVisitor
Sets the starting offset of the subrule.
visit(Subrule) - Method in class net.emustudio.edigen.passes.ResolveNamesVisitor
Associates the subrule with the rule.
visit(Subrule) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Checks whether a subrule without length was already defined in this variant and sets the flag if this subrule does not have a specified length.
visit(Subrule) - Method in class net.emustudio.edigen.Visitor
 
visit(TreeNode) - Method in class net.emustudio.edigen.Visitor
 
visit(Value) - Method in class net.emustudio.edigen.generation.GenerateParametersVisitor
Writes the name of the field for the disassembler parameter.
visit(Value) - Method in class net.emustudio.edigen.passes.DetectUnreachableFormatsVisitor
 
visit(Value) - Method in class net.emustudio.edigen.passes.ResolveNamesVisitor
Associates the value with the rule.
visit(Value) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Finds out whether at least one rule's variant can return a value.
visit(Value) - Method in class net.emustudio.edigen.Visitor
 
visit(Variant) - Method in class net.emustudio.edigen.generation.GenerateFieldsVisitor
Adds the field to the list and sets the flag if the variant returns something.
visit(Variant) - Method in class net.emustudio.edigen.generation.GenerateMethodsVisitor
Writes the code for the recognized variant.
visit(Variant) - Method in class net.emustudio.edigen.passes.MergePatternsVisitor
Traverses all children nodes and adds one mask and pattern as a result of joining.
visit(Variant) - Method in class net.emustudio.edigen.passes.PushDownVariantsVisitor
Saves the current variant and detaches the variant from the rule if at least one variant's child is a mask.
visit(Variant) - Method in class net.emustudio.edigen.passes.ResolveNamesVisitor
Associates the variant with the subrule which it returns.
visit(Variant) - Method in class net.emustudio.edigen.passes.SemanticCheckVisitor
Sets the flag if the variant returns something and starts checking for subrule errors.
visit(Variant) - Method in class net.emustudio.edigen.passes.SplitVisitor
Splits the mask and pattern and adds the split pieces to the variant.
visit(Variant) - Method in class net.emustudio.edigen.Visitor
 
Visitor - Class in net.emustudio.edigen
Generic tree node visitor.
Visitor() - Constructor for class net.emustudio.edigen.Visitor
 

W

write() - Method in class net.emustudio.edigen.misc.Template
Writes the whole resulting output.
write(String) - Method in class net.emustudio.edigen.misc.PrettyPrinter
Writes text to the output stream as-is.
writeLine(String) - Method in class net.emustudio.edigen.misc.PrettyPrinter
Indents the line as necessary and writes it to the output stream.
A B C D E F G H I M N P R S T U V W 
All Classes All Packages