# HG changeset patch # User Christian Urban # Date 1380060960 -3600 # Node ID 60a3ba90dd531c2f13af25e684ad633ad9f09f3f # Parent 9fcd3de53c06859fb0b3ac299d4ae6de5b9d9906 added diff -r 9fcd3de53c06 -r 60a3ba90dd53 progs/app2.scala --- a/progs/app2.scala Tue Sep 24 01:56:53 2013 +0100 +++ b/progs/app2.scala Tue Sep 24 23:16:00 2013 +0100 @@ -10,7 +10,8 @@ if (n == 0) () else { println(s"Visiting: $n $url") - for (u <- get_all_URLs(get_page(url))) crawl(u, n - 1) + for (u <- get_all_URLs(get_page(url))) + crawl(u, n - 1) } } diff -r 9fcd3de53c06 -r 60a3ba90dd53 progs/app3.scala --- a/progs/app3.scala Tue Sep 24 01:56:53 2013 +0100 +++ b/progs/app3.scala Tue Sep 24 23:16:00 2013 +0100 @@ -5,6 +5,7 @@ else if (my_urls.findFirstIn(url) == None) () else { println(s"Visiting: $n $url") - for (u <- get_all_URLs(get_page(url))) crawl(u, n - 1) + for (u <- get_all_URLs(get_page(url))) + crawl(u, n - 1) } } diff -r 9fcd3de53c06 -r 60a3ba90dd53 progs/app4.scala --- a/progs/app4.scala Tue Sep 24 01:56:53 2013 +0100 +++ b/progs/app4.scala Tue Sep 24 23:16:00 2013 +0100 @@ -9,6 +9,7 @@ println(s"Visiting: $n $url") val page = get_page(url) println(email_pattern.findAllIn(page).mkString("\n")) - for (u <- get_all_URLs(page)) crawl(u, n - 1) + for (u <- get_all_URLs(page)) + crawl(u, n - 1) } } diff -r 9fcd3de53c06 -r 60a3ba90dd53 slides/beamerthemeplainculight.sty --- a/slides/beamerthemeplainculight.sty Tue Sep 24 01:56:53 2013 +0100 +++ /dev/null Thu Jan 01 00:00:00 1970 +0000 @@ -1,101 +0,0 @@ -%%\Providespackage{beamerthemeplainculight}[2003/11/07 ver 0.93] -\NeedsTeXFormat{LaTeX2e}[1995/12/01] - -% Copyright 2003 by Till Tantau . -% -% This program can be redistributed and/or modified under the terms -% of the LaTeX Project Public License Distributed from CTAN -% archives in directory macros/latex/base/lppl.txt. - -\newcommand{\slidecaption}{} - -\mode - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% comic fonts fonts -\DeclareFontFamily{T1}{comic}{}% -\DeclareFontShape{T1}{comic}{m}{n}{<->s*[.9]comic8t}{}% -\DeclareFontShape{T1}{comic}{m}{it}{<->s*[.9]comic8t}{}% -\DeclareFontShape{T1}{comic}{m}{sc}{<->s*[.9]comic8t}{}% -\DeclareFontShape{T1}{comic}{b}{n}{<->s*[.9]comicbd8t}{}% -\DeclareFontShape{T1}{comic}{b}{it}{<->s*[.9]comicbd8t}{}% -\DeclareFontShape{T1}{comic}{m}{sl}{<->ssub * comic/m/it}{}% -\DeclareFontShape{T1}{comic}{b}{sc}{<->sub * comic/m/sc}{}% -\DeclareFontShape{T1}{comic}{b}{sl}{<->ssub * comic/b/it}{}% -\DeclareFontShape{T1}{comic}{bx}{n}{<->ssub * comic/b/n}{}% -\DeclareFontShape{T1}{comic}{bx}{it}{<->ssub * comic/b/it}{}% -\DeclareFontShape{T1}{comic}{bx}{sc}{<->sub * comic/m/sc}{}% -\DeclareFontShape{T1}{comic}{bx}{sl}{<->ssub * comic/b/it}{}% -% -\renewcommand{\rmdefault}{comic}% -\renewcommand{\sfdefault}{comic}% -\renewcommand{\mathfamilydefault}{cmr}% mathfont should be still the old one -% -\DeclareMathVersion{bold}% mathfont needs to be bold -\DeclareSymbolFont{operators}{OT1}{cmr}{b}{n}% -\SetSymbolFont{operators}{bold}{OT1}{cmr}{b}{n}% -\DeclareSymbolFont{letters}{OML}{cmm}{b}{it}% -\SetSymbolFont{letters}{bold}{OML}{cmm}{b}{it}% -\DeclareSymbolFont{symbols}{OMS}{cmsy}{b}{n}% -\SetSymbolFont{symbols}{bold}{OMS}{cmsy}{b}{n}% -\DeclareSymbolFont{largesymbols}{OMX}{cmex}{b}{n}% -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Frametitles -\setbeamerfont{frametitle}{size={\LARGE}} -\setbeamerfont{frametitle}{family={\usefont{T1}{ptm}{b}{n}}} -\setbeamercolor{frametitle}{fg=ProcessBlue,bg=white} - -\setbeamertemplate{frametitle}{% -\vskip 2mm % distance from the top margin -\hskip -3mm % distance from left margin -\vbox{% -\begin{minipage}{1.05\textwidth}% -\centering% -\insertframetitle% -\end{minipage}}% -} -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% Foot -% -\setbeamertemplate{navigation symbols}{} -\usefoottemplate{% -\vbox{% - \tinyline{% - \tiny\hfill\textcolor{gray!50}{\slidecaption{} -- - p.~\insertframenumber/\inserttotalframenumber}}}% -} - - - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -\beamertemplateballitem -\setlength\leftmargini{2mm} -\setlength\leftmarginii{0.6cm} -\setlength\leftmarginiii{1.5cm} - -%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% -% blocks -%\definecolor{cream}{rgb}{1,1,.65} -\definecolor{cream}{rgb}{1,1,.8} -\setbeamerfont{block title}{size=\normalsize} -\setbeamercolor{block title}{fg=black,bg=cream} -\setbeamercolor{block body}{fg=black,bg=cream} - -\setbeamertemplate{blocks}[rounded][shadow=true] - -\setbeamercolor{boxcolor}{fg=black,bg=cream} - -\mode - - - - - - - diff -r 9fcd3de53c06 -r 60a3ba90dd53 slides/slides01.pdf Binary file slides/slides01.pdf has changed diff -r 9fcd3de53c06 -r 60a3ba90dd53 slides/slides01.tex --- a/slides/slides01.tex Tue Sep 24 01:56:53 2013 +0100 +++ b/slides/slides01.tex Tue Sep 24 23:16:00 2013 +0100 @@ -76,7 +76,7 @@ showstringspaces=false} % beamer stuff -\renewcommand{\slidecaption}{AFL 01, King's College London, 26.~September 2012} +\renewcommand{\slidecaption}{AFL 01, King's College London, 25.~September 2013} \begin{document} @@ -201,7 +201,7 @@ \frametitle{\begin{tabular}{c}This Course\end{tabular}} \begin{itemize} -\item the ultimate goal is to implement a small compiler (really small one)\bigskip +\item the ultimate goal is to implement a small compiler (a really small one for the JVM)\bigskip \end{itemize} Let's start with: @@ -257,19 +257,16 @@ \begin{frame}[c] \frametitle{\begin{tabular}{c}Scala\end{tabular}} -\footnotesize a simple Scala function for reading webpages\\[-3mm] +\small a simple Scala function for reading webpages\\[-3mm] -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinputlisting{../progs/app0.scala}}}\pause -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinline{get_page("""http://www.inf.kcl.ac.uk/staff/urbanc/""")}}}\pause\bigskip +{\lstset{language=Scala}\texttt{\lstinputlisting{../progs/app0.scala}}}\pause +{\lstset{language=Scala}\texttt{\lstinline{get_page("""http://www.inf.kcl.ac.uk/staff/urbanc/""")}}}\pause\bigskip -\footnotesize slightly more complicated for handling errors properly:\\[-3mm] +\small slightly more complicated for handling errors properly:\\[-3mm] -\footnotesize -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinputlisting{../progs/app1.scala}}} +\small +{\lstset{language=Scala}\texttt{\lstinputlisting{../progs/app1.scala}}} \end{frame}} @@ -322,11 +319,10 @@ \mode{ \begin{frame}[c] -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinputlisting{../progs/app2.scala}}}\medskip +\small +{\lstset{language=Scala}\texttt{\lstinputlisting{../progs/app2.scala}}}\medskip -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{crawl(some\_start\_URL, 2)}}\ +{\lstset{language=Scala}\texttt{crawl(some\_start\_URL, 2)}}\ \end{frame}} %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% @@ -338,8 +334,8 @@ \footnotesize a version that only ``crawls'' links in my domain: -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinputlisting{../progs/app3.scala}}} +\small +{\lstset{language=Scala}\texttt{\lstinputlisting{../progs/app3.scala}}} \end{frame}} @@ -352,8 +348,8 @@ \footnotesize a little email ``harvester'': -{\lstset{language=Scala}\fontsize{8}{10}\selectfont -\texttt{\lstinputlisting{../progs/app4.scala}}}\bigskip +\small +{\lstset{language=Scala}\texttt{\lstinputlisting{../progs/app4.scala}}}\bigskip \tiny \textcolor{gray}{\url{http://net.tutsplus.com/tutorials/other/8-regular-expressions-you-should-know/}} @@ -451,11 +447,11 @@ \begin{itemize} \item regular expressions / regular expression matching +\item derivatives \item automata -\item the Myhill-Nerode theorem \item parsing \item grammars -\item a small interpreter / web browser +\item a small interpreter / compiler \end{itemize} \end{frame}}