aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--cibic.pdfbin95487 -> 96323 bytes
-rw-r--r--cibic.tex15
2 files changed, 15 insertions, 0 deletions
diff --git a/cibic.pdf b/cibic.pdf
index 4938f6a..9464b66 100644
--- a/cibic.pdf
+++ b/cibic.pdf
Binary files differ
diff --git a/cibic.tex b/cibic.tex
index e96ec60..6ea6be0 100644
--- a/cibic.tex
+++ b/cibic.tex
@@ -97,6 +97,21 @@ char linebuff[MAX_LINEBUFF], *lptr = linebuff;
\end{minted}
\caption {Code Snippet to Track Down Location}
\end{listing}
+\subsection{Friendly Error Report}
+CIBIC generates friendly and accurate error report. The corresponding line and column number are printed. Besides, if it is an syntax error, CIBIC will print the context where the error occurs just like clang.
+\begin{figure}[H]
+ \centering
+\begin{BVerbatim}
+2:28: error: syntax error, unexpected ';', expecting ',' or ')'
+ int this_is_an_example(;
+ ^
+
+2:13: error: syntax error, unexpected identifier
+ typedef a
+ ^
+\end{BVerbatim}
+\caption {Some Error Report Examples}
+\end{figure}
\section{Semantic Analysis and Implementation}
The parsing process is also an AST (Abstrct Syntax Tree) construction process.