TP da disciplina Laboratório de Linguagens de Programação - CEFET/MG
Alunos:
O objetivo desse trabalho é desenvolver um interpretador para uma nova linguagem de programação que embute ideias de programação orientada a objetos: SmallOO. Ela possui quatro (4) tipos que podem ser indexados: inteiros, string, objetos e funções. Objetos possuem propriedades que podem armazenar qualquer um dos tipos disponíveis. Funções possuem retorno e podem ser chamadas com qualquer quantidade de argumentos.
/* iniciar o array com nenhum elemento e tamanho 0. */
array.size = 0;
/* adicionar um novo elemento ao arranjo. */
array.add = function {
system.set(self, ("element" + self.size), args.arg1);
self.size = self.size + 1;
};
/* obter um elemento através de seu índice. */
array.get = function {
return system.get(self, ("element" + args.arg1));
};
/* imprimir o arranjo. */
array.print = function {
system.print("[ ");
i = 0;
while (i < self.size) {
system.print(system.get(self, ("element" + i)) + " ");
i = i + 1;
}
system.println("]");
};
/* entrar c/ numeros no arranjo. */
n = system.read("Entre c/ a qtd de numeros: ");
while (array.size < n) {
x = system.random(0, 9);
array.add(x);
}
/* criar uma copia do arranjo. */
array2 = system.clone(array);
/* adicionar mais um numero aleatorio a ele. */
y = system.random(0, 9);
array2.add(y);
/* imprimir o arranjo original. */
array.print();
/* mostrar qual elemento foi adicionado. */
system.println(y);
/* adicionar o método ordenar no novo arranjo utilizando o metodo bolha. */
array2.sort = function {
a = 0;
while (a < self.size) {
b = a + 1;
while (b < self.size) {
x = system.get(self, ("element" + a));
y = system.get(self, ("element" + b));
if (y < x) {
system.set(self, ("element" + a), y);
system.set(self, ("element" + b), x);
}
b = b + 1;
}
a = a + 1;
}
};
/* ordenar o novo arranjo e depois imprimir. */
array2.sort();
array2.print();
Foi desenvolvido um interpretador na linguagem Java, recomenda-se o uso de uma IDE (NetBeans ou IntelliJ preferencialmente) para fazer a compilação e execução. O arquivo .soo
a ser compilado é passado como argumento na execução.
java sooi exemplo.soo