00001 package plp.expressions2;
00002
00003 import java.util.LinkedList;
00004 import java.util.List;
00005
00006 import plp.expressions2.declaration.DecVariavel;
00007 import plp.expressions2.expression.ExpDeclaracao;
00008 import plp.expressions2.expression.ExpSoma;
00009 import plp.expressions2.expression.Id;
00010 import plp.expressions2.expression.ValorInteiro;
00011
00012 public class Exemplos {
00013
00014 public static void main(String [] args){
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043
00044
00045
00046
00047
00048
00049
00050
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061
00062
00063 Id idX = new Id("x");
00064 Id idY = new Id("y");
00065
00066 DecVariavel decX2 = new DecVariavel(idX, new ValorInteiro(5));
00067 List<DecVariavel> list3 = new LinkedList<DecVariavel>();
00068 list3.add(decX2);
00069 ExpDeclaracao exp3 = new ExpDeclaracao(list3, idY);
00070
00071 DecVariavel decY = new DecVariavel(idY, new ExpSoma(idX, new ValorInteiro(1)));
00072 List<DecVariavel> list2 = new LinkedList<DecVariavel>();
00073 list2.add(decY);
00074 ExpDeclaracao exp2 = new ExpDeclaracao(list2, exp3);
00075
00076 DecVariavel decX1 = new DecVariavel(idX, new ValorInteiro(3));
00077 List<DecVariavel> list1 = new LinkedList<DecVariavel>();
00078 list1.add(decX1);
00079 ExpDeclaracao exp1 = new ExpDeclaracao(list1, exp2);
00080
00081 Programa prg = new Programa(exp1);
00082
00083 try {
00084 if (!prg.checaTipo()) {
00085 System.out.println("Erro de tipo");
00086 } else {
00087 System.out.println(prg.executar());
00088 }
00089 } catch (Exception e) {
00090 System.out.println("Erro: " + e);
00091 e.printStackTrace();
00092 }
00093
00094 }
00095
00096 }