A proposta deste trabalho é implementar o tipo date e suas respectivas operações entre datas para a Linguagem Imperativa 2.
- Paulo Henrique Gomes Silva
- Pedro Henrique Caminha Lins
- Implementar o tipo de dados data
- Implementar a regra de entrada de uma data de acordo com os formatos: BR-dd/mm/yyyy, US-mm/dd/yyyy, JP-yyyy/mm/dd
- Implementar operações entre datas:
- Comparação (===)
- Diferença em dias entre duas datas (---)
Programa ::= Comando Comando ::= Atribuicao | ComandoDeclaracao | While | IfThenElse | IO | Comando ";" Comando | Skip | ChamadaProcedimento Skip ::= Atribuicao ::= Id ":=" Expressao Expressao ::= Valor | ExpUnaria | ExpBinaria | Id Valor ::= ValorConcreto ValorConcreto ::= ValorInteiro | ValorBooleano | ValorString | ValorDate ExpUnaria ::= "-" Expressao | "not" Expressao | "length" Expressao ExpBinaria ::= Expressao "+" Expressao | Expressao "-" Expressao | Expressao "and" Expressao | Expressao "or" Expressao | Expressao "==" Expressao | Expressao "++" Expressao | Expressao "---" Expressao | Expressao "===" Expressao ComandoDeclaracao :: = "{" Declaracao ";" Comando "}" Declaracao ::= DeclaracaoVariavel | DeclaracaoProcedimento | DeclaracaoComposta DeclaracaoVariavel ::= "var" Id "=" Expressao DeclaracaoComposta ::= Declaracao "," Declaracao DeclaracaoProcedimento ::= "proc" Id "(" [ ListaDeclaracaoParametro ] ")" "{" Comando "}" ListaDeclaracaoParametro ::= Tipo Id | Tipo Id "," ListaDeclaracaoParametro Tipo ::= "string" | "int" | "boolean" | "data" While ::= "while" Expressao "do" Comando IfThenElse ::= "if" Expressao "then" Comando "else" Comando IO ::= "write" "(" Expressao ")" | "read" "(" Id ")" ChamadaProcedimento ::= "call" Id "(" [ ListaExpressao ] ")" ListaExpressao ::= Expressao | Expressao, ListaExpressao
- Local
cd <Linguagem>
mvn clean generate-sources compile exec:java
- Applet
mvn package
# Jar será gerado em ./Applet/target/