|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--CpcGenJava
Classe que s'encarrega d'escriure en un fitxer la traduccio al Java de les instruccions del pseudocodi.
Field Summary | |
private java.lang.String |
className
|
private boolean |
isDefaultConstructor
|
private int |
numIdent
|
private java.io.BufferedWriter |
out
|
private boolean |
verboseMode
|
private java.lang.String |
version
|
Fields inherited from interface PseudocodiTokenTypes |
ACCIO, ALGORISME, ALTRAMENT, ATRIBUTS, ATRIBUTS_CLASSE, BOOLEA, CARACTER, CAS, CERT, CLASS_DEF, CLASS_TYPE, CLASSE, COMA, COMENTARI1, COMENTARI2, CONST, CONSTRUCTOR, CORXET_DRET, CORXET_ESQ, CREAR, DE, DESTRUCTOR, DESTRUIR, DIV, DOSPUNTS, ELEMENTAL_TYPE, ENTER, EOF, ESCRIURE, ESCRIURELN, ESPAIS_BLANC, EXPONENT, FALGORISME, FALS, FATRIBUTS, FATRIBUTS_CLASSE, FCAS, FCLASSE, FCONST, FCONSTRUCTOR, FDESTRUCTOR, FER, FFUNCIO, FIMPLEMENTACIO, FINS, FINTERFICIE, FMENTRE, FMETODE, FMETODE_CLASSE, FMETODES, FMETODES_CLASSE, FPER, FSI, FUNCIO, FVAR, HERETA, IDENTIFICADOR, IMPLEMENTACIO, INTERFICIE, JO, LITERAL_CADENA, LITERAL_CARACTER, LLAVORS, LLEGIR, MEMBRE_CLASSE, MENTRE, METODE, METODE_CLASSE, METODES, METODES_CLASSE, MOD, NULL, NULL_TREE_LOOKAHEAD, NUMERO, NUMERO_ENTER, NUMERO_REAL, OP_ASSIGNACIO, OP_CAS, OP_DIFERENT, OP_DIV, OP_I, OP_IGUAL, OP_MGRAN, OP_MGRAN_IGUAL, OP_MPETIT, OP_MPETIT_IGUAL, OP_MULT, OP_NO, OP_O, OP_RESTA, OP_SUMA, PAREN_DRET, PAREN_ESQ, PAS, PER, PRIVATE, PUBLIC, PUNT, PUNTCOMA, REAL, RES, RETORNA, SALT_LINIA, SI, SUPER, SUPER_CLASS, TAULA, VAR |
Constructor Summary | |
CpcGenJava()
|
|
CpcGenJava(java.lang.String filename,
java.lang.String ver,
boolean verbose)
Constructor. filename es el nom del fitxer de sortida, ver es la versio del traductor i verbose especifica si esta activat el mode verbose. |
Method Summary | |
void |
checkDefaultConstructor()
Comprova si s'ha escrit un constructor per defecte. |
void |
closeFile()
Tanca el fitxer de sortida. |
private void |
decIdent()
Treu identacio (text cap a l'esquerra) |
java.lang.String |
getExpressionCrear(int type,
java.lang.String textType)
Retorna un string amb l'expressio "crear" traduida al java |
java.lang.String |
getExpressionLlegir(int type)
Retorna un String amb l'expressio llegir traduida al java. |
private java.lang.String |
getStringOfElementalType(int type)
Retorna un string que representa el tipus elemental |
private void |
incIdent()
Afegeix identacio cap a la dreta |
void |
sepaInst()
Escriu salt de linia. |
void |
writeDeclaConst(java.lang.String name,
int Type,
java.lang.String expressio,
int typeDecl)
Declara una constant. name es el nom, type el tipus, expressio el seu valor i typeDecl el modificador d'acces. |
void |
writeDeclaVar(java.lang.String name,
int idType,
int type,
int dimension,
java.lang.String typeClassName,
int typeDecl)
Escriu la declaracio d'una variable. name es el Identificador, idType el tipus de ident., type el tipus de variale, typeClassName es el nom de la classe, typeDecl es el modificador d'acces. |
void |
writeEndBlock()
Escriu el final d'un bloc de codi |
private void |
writeFileHead()
Escriu la capzalera del fitxer traduit. |
private void |
writeFuncParams(ParamInfo[] params,
int numParams)
Escriu en el fitxer els parametres d'un metode |
void |
writeHeadAccio(int funcType,
java.lang.String name,
ParamInfo[] params,
int numParams)
Escriu la declaracio d'una accio (VOID) |
void |
writeHeadFuncio(int funcType,
java.lang.String name,
ParamInfo[] params,
int numParams,
ParamInfo retParam)
Escriu la declaracio d'una funcio que retorna un valor (retParam). |
void |
writeHeadOfClass(java.lang.String cName,
java.lang.String superClassName)
Escriu la declaracio de la classe, i declara variables auxiliars per poder fer E/S. |
void |
writeHeadOfMain()
Escriu la declaracio de la funcio principal (main) en java. |
private void |
writeIdent()
Escriu la identacio en el fitxer de sortida |
void |
writeInstAltrament()
Escriu en el fitxer la instrucció altrament (ELSE) |
void |
writeInstAssig(java.lang.String varName,
java.lang.String expression)
Escriu la inst d'assignacio |
void |
writeInstCasAltres(java.lang.String expression)
Escriu en el fitxer la instrucció "cas" (les cond. seguents a la primera) com a ELSE IF |
void |
writeInstCasPrimer(java.lang.String expression)
Escriu en el fitxer la instrucció "cas" (la primera condicio) com a IF |
void |
writeInstCrida(java.lang.String crida)
Escriu una crida a una accio/funcio |
void |
writeInstDestruir(java.lang.String varName)
Escriu la instruccio destruir ID. |
void |
writeInstEscriure(java.lang.String expression)
Escriu "escriure" utilitzant la classe d'entrada i sortida |
void |
writeInstEscriureln(java.lang.String expression)
Escriu "escriureln" utilitzant la classe d'entrada i sortida |
void |
writeInstHeadMentre(java.lang.String expression)
Escriu la capzalera de la inst. mentre, traduida com a while. |
void |
writeInstPer(java.lang.String indexVar,
java.lang.String iniExp,
java.lang.String endExp,
java.lang.String pas)
Escriu la inst. per com a FOR |
void |
writeInstRes()
Escriu la instruccio res com un comentari |
void |
writeInstRetorna(java.lang.String varName)
Escriu la instruccio retorna (RETURN) |
void |
writeInstSi(java.lang.String expression)
Escriu en el fitxer la instrucció "si" com a IF |
private void |
writeValIni(int idType,
int type,
int dimension)
Escriu el valor inicial de la variable. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
private java.io.BufferedWriter out
private java.lang.String version
private java.lang.String className
private int numIdent
private boolean isDefaultConstructor
private boolean verboseMode
Constructor Detail |
public CpcGenJava()
public CpcGenJava(java.lang.String filename, java.lang.String ver, boolean verbose)
Method Detail |
public void closeFile()
public void checkDefaultConstructor()
private void writeFileHead()
public void writeHeadOfMain()
public void writeHeadOfClass(java.lang.String cName, java.lang.String superClassName)
private java.lang.String getStringOfElementalType(int type)
public java.lang.String getExpressionCrear(int type, java.lang.String textType)
public java.lang.String getExpressionLlegir(int type)
public void writeEndBlock()
public void writeDeclaVar(java.lang.String name, int idType, int type, int dimension, java.lang.String typeClassName, int typeDecl)
private void writeValIni(int idType, int type, int dimension)
public void writeDeclaConst(java.lang.String name, int Type, java.lang.String expressio, int typeDecl)
public void writeHeadAccio(int funcType, java.lang.String name, ParamInfo[] params, int numParams)
public void writeHeadFuncio(int funcType, java.lang.String name, ParamInfo[] params, int numParams, ParamInfo retParam)
private void writeFuncParams(ParamInfo[] params, int numParams)
public void writeInstHeadMentre(java.lang.String expression)
public void writeInstCrida(java.lang.String crida)
public void writeInstEscriure(java.lang.String expression)
public void writeInstEscriureln(java.lang.String expression)
public void writeInstPer(java.lang.String indexVar, java.lang.String iniExp, java.lang.String endExp, java.lang.String pas)
public void writeInstSi(java.lang.String expression)
public void writeInstAltrament()
public void writeInstCasPrimer(java.lang.String expression)
public void writeInstCasAltres(java.lang.String expression)
public void writeInstAssig(java.lang.String varName, java.lang.String expression)
public void writeInstRetorna(java.lang.String varName)
public void writeInstDestruir(java.lang.String varName)
Escriu la instruccio destruir ID.
El que es fa es igualar a null, de tal manera que el GC s'encarregara de lliberar l'espai de mem.
public void writeInstRes()
private void incIdent()
private void decIdent()
private void writeIdent()
public void sepaInst()
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |