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 |