Package | Description |
---|---|
mycompiler | |
mycompiler.mybytecode | |
mycompiler.myclass | |
mycompiler.myinterface | |
mycompiler.myoperator | |
mycompiler.mystatement |
Modifier and Type | Method and Description |
---|---|
void |
SourceFile.codegen()
Startet die Bytecodegenerierung fuer alle in der Datei
enthaltenen Klassen und Interfaces.
|
abstract void |
AClassOrInterface.codegen(SourceFile sf) |
void |
MyCompiler.codeGeneration()
Author: J�rg B�uerle
Generiert den Bytecode und das Class-File f�r den Syntaxbaum. |
void |
MyCompilerAPI.codeGeneration()
Author: J�rg B�uerle
Generiert den Bytecode und das Class-File f�r den Syntaxbaum. |
Modifier and Type | Method and Description |
---|---|
int |
ClassFile.add_field_ref(java.lang.String name,
java.lang.String cl_name,
java.lang.String type) |
void |
ClassFile.add_method(java.lang.String name,
java.lang.String param_type,
ParameterList param,
Type type,
Block block,
short acc_flag,
java.util.Vector paralist,
boolean isAbstract) |
void |
ClassFile.codegen() |
void |
CodeAttribute.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
void |
FieldInfo.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
void |
AttributeInfo.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
void |
MethodInfo.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
abstract void |
Attribute.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
void |
SignatureInfo.codegen(ClassFile classfile,
java.io.FileOutputStream f) |
static void |
JVMCode.get_Command(java.util.Vector<java.lang.Byte> b)
Gibt die Liste der Bytecode-Commands auf dem Bildschirm aus (Logger Bytecode).
|
Type |
CodeAttribute.get_TypeOf_Var(java.lang.String name) |
static java.lang.Byte |
JVMCode.if_ncmpeq(java.lang.String s) |
static java.lang.Byte |
JVMCode.if_ncmpne(java.lang.String s) |
static java.lang.Byte |
JVMCode.n2n(java.lang.String s1,
java.lang.String s2) |
static java.lang.Byte |
JVMCode.nadd(java.lang.String s) |
static java.lang.Byte |
JVMCode.naload(java.lang.String s) |
static java.lang.Byte |
JVMCode.nand(java.lang.String s) |
static java.lang.Byte |
JVMCode.nastore(java.lang.String s) |
static java.lang.Byte |
JVMCode.ncmpg(java.lang.String s) |
static java.lang.Byte |
JVMCode.ncmpl(java.lang.String s) |
static java.lang.Byte |
JVMCode.nconst_n(java.lang.String s1,
int n2) |
static java.lang.Byte |
JVMCode.ndiv(java.lang.String s) |
static java.lang.Byte |
JVMCode.nload_n(java.lang.String s1,
int n2) |
static java.lang.Byte |
JVMCode.nmul(java.lang.String s) |
static java.lang.Byte |
JVMCode.nneg(java.lang.String s) |
static java.lang.Byte |
JVMCode.nor(java.lang.String s) |
static java.lang.Byte |
JVMCode.nrem(java.lang.String s) |
static java.lang.Byte |
JVMCode.nshl(java.lang.String s) |
static java.lang.Byte |
JVMCode.nshr(java.lang.String s) |
static java.lang.Byte |
JVMCode.nstore_n(java.lang.String s1,
int n2) |
static java.lang.Byte |
JVMCode.nsub(java.lang.String s) |
static java.lang.Byte |
JVMCode.nushr(java.lang.String s) |
static java.lang.Byte |
JVMCode.nxor(java.lang.String s) |
Constructor and Description |
---|
SignatureInfo(ParameterList param,
Type type,
ClassFile cf)
Konstruktor fuer eine Methodensignatur.
|
SignatureInfo(Type type,
ClassFile cf)
Konstruktor fuer eine Signatur einer Instanzvariable.
|
Modifier and Type | Method and Description |
---|---|
void |
DeclId.codegen_InstVarDecl(ClassFile classfile,
Type type,
java.util.Vector paralist)
Generieren einer Instanzvariable im Bytecode.
|
void |
DeclId.codegen_LocalVarDecl(ClassFile classfile,
CodeAttribute code,
Type type,
java.util.Vector paralist) |
void |
InstVarDecl.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
FieldInitialization.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
ClassBody.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
Constructor.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
Constant.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
Method.codegen(ClassFile classfile,
java.util.Vector paralist) |
abstract void |
FieldDecl.codegen(ClassFile classfile,
java.util.Vector paralist) |
void |
Class.codegen(SourceFile sf) |
Modifier and Type | Method and Description |
---|---|
void |
InterfaceBody.codegen(ClassFile cf,
java.util.Vector paralist) |
void |
Interface.codegen(SourceFile sf) |
Modifier and Type | Method and Description |
---|---|
static void |
LogOp.build(ClassFile classfile,
CodeAttribute code,
Expr expr,
java.util.Vector<java.lang.Integer> indices,
boolean not,
boolean ex2,
boolean and,
java.util.Vector paralist) |
void |
PlusOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
void |
MinusOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
void |
EqualOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
LessEquOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
LessOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
ModuloOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
void |
NotEqualOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
TimesOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
void |
DivideOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
void |
GreaterEquOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
abstract void |
AddOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg,
java.util.Vector paralist) |
abstract void |
Operator.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean neg_not,
java.util.Vector paralist) |
void |
LogOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
GreaterOp.codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
boolean not,
java.util.Vector paralist) |
void |
LogOp.if_codegen(ClassFile classfile,
CodeAttribute code,
boolean not,
Expr expr,
Statement then_block,
Statement else_block,
java.util.Vector paralist) |
void |
EqualOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
LessEquOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
LessOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
NotEqualOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
GreaterEquOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
GreaterOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
abstract void |
RelOp.if_codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean not) |
void |
LogOp.loop_codegen(ClassFile classfile,
CodeAttribute code,
Expr expr,
int breakpoint,
boolean not,
java.util.Vector paralist) |
static void |
LogOp.replace_index(CodeAttribute code,
java.util.Vector<java.lang.Integer> indices,
int else_index,
int then_index) |
Modifier and Type | Method and Description |
---|---|
void |
UnaryNot.codegen(ClassFile classfile,
CodeAttribute code,
boolean sw) |
void |
UnaryMinus.codegen(ClassFile classfile,
CodeAttribute code,
java.lang.String type,
boolean neg) |
void |
PositivExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
PreDecExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
LambdaExpression.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Binary.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
WhileStmt.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
abstract void |
UnaryExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
PostDecExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
EmptyStmt.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
ArgumentList.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Return.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NewArray.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
This.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
PreIncExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Block.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
PostIncExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
LocalVarDecl.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
IfStmt.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
LongLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NotExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
LocalOrFieldVar.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Assign.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
CastExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
CharLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
InstVar.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
DoubleLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Null.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NegativeExpr.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
ForStmt.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
InstanceOf.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
StringLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
FloatLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
MethodCall.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
abstract void |
Statement.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NewClass.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
BoolLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
IntLiteral.codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
short |
Literal.ConstantCodegen(ClassFile cf)
Erzeugt die benoetigten Konstanteneintraege, die den Wert
des Literals darstellen.
|
short |
LongLiteral.ConstantCodegen(ClassFile classfile) |
short |
CharLiteral.ConstantCodegen(ClassFile classfile) |
short |
DoubleLiteral.ConstantCodegen(ClassFile classfile) |
short |
StringLiteral.ConstantCodegen(ClassFile classfile) |
short |
FloatLiteral.ConstantCodegen(ClassFile classfile) |
short |
BoolLiteral.ConstantCodegen(ClassFile classfile) |
short |
IntLiteral.ConstantCodegen(ClassFile classfile) |
int |
NewArray.get_codegen_Array_Type() |
Method |
MethodCall.getMethodFittingMethodCallAndClassname(java.lang.String className)
hoti 4.5.06
Diese Methode l�dt die Methodeninfos einer Methode aus der Hashtable
methodsfittingmethodcall in ein Method-Objekt
anhand der angegeben klasse
|
void |
UnaryNot.if_codegen(ClassFile classfile,
CodeAttribute code,
boolean sw) |
void |
IfStmt.if_codegen(ClassFile classfile,
CodeAttribute code,
boolean not,
java.util.Vector paralist) |
void |
WhileStmt.loop_codegen(ClassFile classfile,
CodeAttribute code,
int breakpoint,
boolean not,
java.util.Vector paralist) |
void |
Binary.neg_codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NegativeExpr.neg_codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
Binary.not_codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
void |
NotExpr.not_codegen(ClassFile classfile,
CodeAttribute code,
java.util.Vector paralist) |
boolean |
Binary.type_check(CodeAttribute code) |