Trabalho 4 da disciplina Construção de Compiladores
Desenvolvido por | |
---|---|
Ariane Cristina Gomes | 743507 |
Sabrina da Silva Miranda | 743595 |
Esse projeto teve como objetivo desenvolver um compilador para a linguagem declarativa TibiaCard, inventada pelas alunas, que gera cards em HTML de personagens do jogo Tibia.
Esses cards apresentam individualmente, as características, magias utilizadas e quantidades de mana gasta.
Para utilizar a linguagem é preciso, obrigatóriamente declarar um personagem com suas características. É possível declarar tantos personagens quanto se quiser, cada qual dentro de um bloco inicio personagem-fim personagem, do seguinte modo:
inicio personagem
[string-NomedoPersonagem]: [string-vocação]*
[int]: level
[boolean]: premium account
fim personagem
Exemplo:
inicio personagem
Khiary: elite knight
400: level
sim: premium account
fim personagem
*As vocações e o nome do personagem devem ser escritas de acordo com as determinações originais do jogo.
Existem duas ações que um personagem pode realizar relacionado ao uso de magias: Ataque e Cure. Para executar ambas é preciso escrever o nome de personagem já declarado e todas as magias que se deseja realizar:
Ataque(Khiany, exori san)
Cure(Khiary, exura ico, exura gran ico)
Ao executar o programa, será gerado um código em HTML com cards individuais para cada personagem, apresentando suas características, magias utilizadas e quantidadades de mana gasta para tal.
Todo o desenvolvimento do projeto foi realizado diretamente pela ferramente Apache NetBeans IDE 12 e para compilar é preciso seguir algum dos seguintes passos, após importar o projeto no programa em questão:
Assim, será gerado um arquivo denominado como <TibiaCard-1.0-SNAPSHOT-jar-with-dependencies.jar> dentro da pasta TibiaCard/target do Projeto.
Para executar é necessário o uso de três parâmetros:
- caminho absoluto do arquivo do compilador
- caminho absoluto do arquivo de teste em .txt
- caminho absoluto para um arquivo de saída .html
Tendo esses parâmetros, é preciso executar o comando java -jar através de um terminal, desse modo:
java -jar /home/usuario/NetBeansProjects/TibiaCard/target/TibiaCard-1.0-SNAPSHOT-jar-with-dependencies.jar /caminho_absoluto_arquivo_de_entrada.txt* /caminho_absoluto_arquivo_de_saida.html
Exemplo:
java -jar /home/usuario/NetBeansProjects/TibiaCard/target/TibiaCard-1.0-SNAPSHOT-jar-with-dependencies.jar /home/usuario/NetBeansProjects/casos-teste/entradaInterpretacao_01.txt /home/usuario/NetBeansProjects/casos-teste/saidaInterpretacao.html
E para visualizar o resultado basta abrir o arquivo em qualquer navegador :)
*Para utilizar casos de teste prontos, verificar o diretório casos-teste.