aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTeddy <ted.sybil@gmail.com>2014-05-18 15:40:26 +0800
committerTeddy <ted.sybil@gmail.com>2014-05-18 15:40:26 +0800
commit8e98551ef12f91fa13796303292abc32e9776b64 (patch)
tree969d6d6063f04791ab1626d1c44fe205a814a4d5
parentdfe65f40058ce47d4b9501b50aad03c93add454c (diff)
...
-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.