Skip to content

Commit

Permalink
More details on a task 2
Browse files Browse the repository at this point in the history
  • Loading branch information
romildo committed Oct 24, 2016
1 parent 967e61e commit cac12eb
Show file tree
Hide file tree
Showing 2 changed files with 17 additions and 3 deletions.
20 changes: 17 additions & 3 deletions doc/eplan-compiler.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1261,7 +1261,7 @@ \section{Análise semântica}
Implementar \textbf{literais inteiros} no compilador de \lang{}.
\begin{enumerate}
\item Para desenvolver esta atividade faça o \emph{checkout} da
\alert{versão 0.15} do projeto.
\alert{versão 0.16} do projeto.
\item Definir uma nova classe \pyginline|types.INT| para
representar o tipo \texttt{int} de \lang{}.
Expand All @@ -1275,6 +1275,12 @@ \section{Análise semântica}
\item implementar o método \pyginline|semantic_|
\item implementar o método \pyginline|codegen|
\end{itemize}
\item Modifique a classe \pyginline|absyn.ExpBinOp| de forma que
os operadores aritméticos aceitem operandos inteiros e
reais. Neste momento não é necessário fazer conversão implícita
dos operandos de inteiro para real. Por hora os operandos devem
ser do mesmo tipo numérico.
\item Acrescentar na gramática da linguagem:
\begin{itemize}
Expand Down Expand Up @@ -1303,10 +1309,18 @@ \section{Análise semântica}
\end{enumerate}
\begin{tips}
\item Na geração de código use o método
\item Na geração de código use os métodos
\href{http://bytedeco.org/javacpp-presets/llvm/apidocs/org/bytedeco/javacpp/LLVM.html#LLVMConstInt-org.bytedeco.javacpp.LLVM.LLVMTypeRef-long-int-}{\pyginline|LLVMConstInt|}
\end{tips}
\href{http://bytedeco.org/javacpp-presets/llvm/apidocs/org/bytedeco/javacpp/LLVM.html#LLVMBuildAdd-org.bytedeco.javacpp.LLVM.LLVMBuilderRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-java.lang.String-}{\pyginline|LLVMBuildAdd|}
\href{http://bytedeco.org/javacpp-presets/llvm/apidocs/org/bytedeco/javacpp/LLVM.html#LLVMBuildSub-org.bytedeco.javacpp.LLVM.LLVMBuilderRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-java.lang.String-}{\pyginline|LLVMBuildSub|}
\href{http://bytedeco.org/javacpp-presets/llvm/apidocs/org/bytedeco/javacpp/LLVM.html#LLVMBuildMul-org.bytedeco.javacpp.LLVM.LLVMBuilderRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-java.lang.String-}{\pyginline|LLVMBuildMul|}
\href{http://bytedeco.org/javacpp-presets/llvm/apidocs/org/bytedeco/javacpp/LLVM.html#LLVMBuildSDiv-org.bytedeco.javacpp.LLVM.LLVMBuilderRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-org.bytedeco.javacpp.LLVM.LLVMValueRef-java.lang.String-}{\pyginline|LLVMBuildSDiv|}
\end{tips}
\end{frame}
Expand Down
Binary file modified eplan-compiler.pdf
Binary file not shown.

0 comments on commit cac12eb

Please sign in to comment.