Exemplos.java

Go to the documentation of this file.
00001 /* 
00002    Execucao de alguns programas-testes.
00003 
00004    Autor: Vander Alves
00005    Data da ultima alteracao:  12/04/99
00006 */
00007 
00008 package plp.expressions1;
00009 
00010 import plp.expressions1.expression.ExpAnd;
00011 import plp.expressions1.expression.ExpConcat;
00012 import plp.expressions1.expression.ExpEquals;
00013 import plp.expressions1.expression.ExpLength;
00014 import plp.expressions1.expression.ExpMenos;
00015 import plp.expressions1.expression.ExpNot;
00016 import plp.expressions1.expression.ExpOr;
00017 import plp.expressions1.expression.ExpSoma;
00018 import plp.expressions1.expression.ExpSub;
00019 import plp.expressions1.expression.ValorBooleano;
00020 import plp.expressions1.expression.ValorInteiro;
00021 import plp.expressions1.expression.ValorString;
00022 
00023 public class Exemplos {
00024 
00025   public static void main(String [] args){
00026 
00027 
00028     // Avalia   -4 + 12 - 3
00029     Programa prg = new Programa(
00030                          new  ExpSub( new ExpSoma( new ExpMenos(new ValorInteiro(4)), 
00031                                                    new ValorInteiro(12)), 
00032                                       new ValorInteiro(3)));
00033         if (!prg.checaTipo()) {
00034                 System.out.println("Erro de tipo");
00035         } else {
00036                 System.out.println(prg.executar());
00037         }
00038 
00039     // Avalia    not ( (T and F) or (T and T) )
00040     prg = new Programa(
00041                 new ExpNot( new ExpOr(new ExpAnd( new ValorBooleano(true),new ValorBooleano(false)), 
00042                                       new ExpAnd( new ValorBooleano(true), new  ValorBooleano(true)))));
00043 
00044         if (!prg.checaTipo()) {
00045                 System.out.println("Erro de tipo");
00046         } else {
00047                 System.out.println(prg.executar());
00048         }
00049 
00050 
00051     // Avalia length("Hello" ++ " world" ++ "!");
00052     prg = new Programa(
00053                        new ExpLength(
00054                              new ExpConcat(new ValorString("Hello"),
00055                                            new ExpConcat(
00056                                                   new ValorString(" world"),
00057                                                   new ValorString("!")))));
00058         if (!prg.checaTipo()) {
00059                 System.out.println("Erro de tipo");
00060         } else {
00061                 System.out.println(prg.executar());
00062         }
00063 
00064 
00065     // Avalia  length("forro") == 5
00066     prg = new Programa(new ExpEquals( new ExpLength(new ValorString("forro")), new ValorInteiro(5)));
00067         if (!prg.checaTipo()) {
00068                 System.out.println("Erro de tipo");
00069         } else {
00070                 System.out.println(prg.executar());
00071         }
00072 
00073    // Avalia  "hello" + " world" == "hello world"
00074   prg = new Programa(new ExpEquals(new ExpConcat(new ValorString("hello"), new ValorString(" world")), 
00075                                    new ValorString("hello world")));
00076         if (!prg.checaTipo()) {
00077                 System.out.println("Erro de tipo");
00078         } else {
00079                 System.out.println(prg.executar());
00080         }
00081  
00082 
00083    // Avalia   not T ==  F and 1
00084   prg = new Programa(new ExpEquals(new ExpNot(new ValorBooleano(true)), 
00085                                    new ExpAnd(new ValorBooleano(false),new ValorInteiro(1))));
00086         if (!prg.checaTipo()) {
00087                 System.out.println("Erro de tipo");
00088         } else {
00089                 System.out.println(prg.executar());
00090         }
00091  }
00092 }

Generated on Tue Sep 12 21:51:57 2006 for PLP by  doxygen 1.4.7