Package SFE.Compiler

Interface Summary
Multi2SingleBit The Multi2SingleBit interface is implemented by the objects in the program that has a role in the multibit to singlebit transformation.
 

Class Summary
ArrayEntryLvalue ArrayEntryLvalue represent as array entry l-value that can be defined in a program.
ArrayType Class ArraType is used for representing an Array that was defined in the program.
AssignmentStatement A class for representing assignment statements that can be defined in the program.
BinaryOpExpression A class for representing binary operation expressions that can be defined in the program.
BitLvalue This class represents a bit of a VarLvalue
BlockStatement A class for representing a block of statements that can be defined in the program.
BooleanConstant The BooleanConstant class represents boolean consts expressions that can appear in the program.
BooleanType A class representing the boolean primitive type that can be defined in the program.
BusType A class representing a value of the primitive bus of an arbitrary length.
ConstExpression The ConstExpression class represents consts expressions that can appear in the program.
Consts The Consts class stores the constants defeined in the program.
EqualOperator A class for representing == operator expressions that can be defined in the program.
Expression Abstract class for representing expressions that can be defined in the program.
Function A class for representing a function that can be defined in the program.
GreaterEqualOperator A class for representing '>=' operator expressions that can be defined in the program.
GreaterOperator A class for representing '>' operator expressions that can be defined in the program.
IfStatement A class for representing if statement that can be defined in the program.
InputStatement A class for representing input statement for the final output circuit.
IntConstant The IntConstant class represents integer consts expressions that can appear in the program.
IntType A class representing the integer primitive type of an arbitrary length.
LessEqualOperator A class for representing <= operator expressions that can be defined in the program.
LessOperator A class for representing < operator expressions that can be defined in the program.
LvalExpression The LvalExpression class represents an Expression that can appear as LHS in the program.
Lvalue Abstract class that Defines an entity that can appear on the LHS of an assignment.
NotEqualOperator A class for representing not equal operator expressions that can be defined in the program.
OperationExpression class OperationExpression defines expressions containing operatioins, that can be defined in the program.
Operator Abstract class for representing an operator in the program.
Optimizer Optimizer holds all the data structures needed for the optimization process.
ParentType this class represents types that contain other types such as structs and arrays
PlusOperator A class for representing binary + operator expressions that can be defined in the program.
PrimitiveOperator The PrimitiveOperator class represents a primitive operator in the program.
Program A class that represents the program.
SFECompiler The SFECompiler class takes an input stream and checks if it is compatible with the predefined language.
Statement Abstract class for representing statements that can be defined in the program.
StructFieldLvalue The VarLvalue class extends the Lvalue class, and can be when a variable is used as Lvalue.
StructType Class StructType is used for representing a Struct that was defined in the program.
Tokenizer The Tokenizer class takes an input stream and parses it into "tokens", allowing the tokens to be read one at a time.
TrinaryOpExpression A class for representing trinary operator expressions that can be defined in the program.
Type Abstract class for representing types that can be defined in the program.
UnaryOpExpression A class for representing unary operator expressions that can be defined in the program.
UniqueVariables A class that handles the unique variables.
Variable A type representing a variable in the program.
VarLvalue The VarLvalue class extends the Lvalue class, and can be when a variable is used as Lvalue.