equal
deleted
inserted
replaced
476 \end{frame} |
476 \end{frame} |
477 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
477 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
478 |
478 |
479 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
479 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
480 \begin{frame}[c] |
480 \begin{frame}[c] |
|
481 \frametitle{What Parsing is Not} |
|
482 |
|
483 Usually parsing does not check semantic correctness, e.g. |
|
484 |
|
485 \begin{itemize} |
|
486 \item whether a function is not used before it |
|
487 is defined |
|
488 \item whether a function has the correct number of arguments |
|
489 or are of correct type |
|
490 \item whether a variable can be declared twice in a scope |
|
491 \end{itemize} |
|
492 |
|
493 \end{frame} |
|
494 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
495 |
|
496 |
|
497 |
|
498 %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% |
|
499 \begin{frame}[c] |
481 \frametitle{Regular Languages} |
500 \frametitle{Regular Languages} |
482 |
501 |
483 While regular expressions are very useful for lexing, there is |
502 While regular expressions are very useful for lexing, there is |
484 no regular expression that can recognise the language |
503 no regular expression that can recognise the language |
485 \bl{$a^nb^n$}.\bigskip |
504 \bl{$a^nb^n$}.\bigskip |