<tr> <td> 01 </td> <td> 17/8 </td> <td> Languages and Language Processing </td> <td> <a href="slides/slides_01.pdf">slides_01.pdf</a> </td> <td> <a href="notes/notes_01.pdf">notes_01.pdf</a> </td> <td>If you are interested in the mathematics behind T-diagrams, take a look at the original paper: J. Earley and H. Sturgis. <a href="https://libproxy1.nus.edu.sg/login?url=http://portal.acm.org/citation.cfm?id=362740&coll=ACM&dl=ACM&CFID=3583719&CFTOKEN=5472835">A formalism for translator interactions</a> . Communications of the ACM, 13:607-617, 1970.<p> Programming languages are ubiquitous in the world of IT. To illustrate this point, a <a href="html/languages_for_this_lecture.html">description</a> is given what languages were used to produce the slides for lecture 01. </td> </tr>This HTML code is interpreted by your web browser to produce formatted text with hyperlinks so that it looks like this:
01 | 17/8 | Languages and Language Processing | slides_01.pdf | notes_01.pdf | If you are interested in the mathematics behind T-diagrams,
take a
look at the original paper: J. Earley and H. Sturgis. A
formalism for translator interactions . Communications of the ACM,
13:607-617, 1970. Programming languages are ubiquitous in the world of IT. To illustrate this point, a description is given what languages were used to produce the slides for lecture 01. |
\begin{frame}{Translators} \begin{itemize} \item Translator translates from one language---the \emph{from-language}---to another language---the \emph{to-language} \item Compiler translates from ``high-level'' language to ``low-level'' language \item De-compiler translates from ``low-level'' language to ``high-level'' language \end{itemize} \end{frame}
The slides make use of a powerful LaTeX package for making slide presentations, called Beamer.
For students who are inclined to play with LaTeX and who which to re-create the course notes and slides, the support files beyond a typical LaTeX implementation are available in the latex folder of the module homepage.
ps:: clip ï ps:: newpath ïNps:: 3.9851 362.8394 pgfV 0.0 0.47499 0.45 0.47499 0.95 0.9 0.95 pgfshade popl2ï ps:: pgfcï ps::[end]ï color popï color pop'+ïcolor push gray 0ïcolor push gray 0D4ïcolor push rgb 0.2 0.2 0.7ÌÍïps: ïps::[begin]ï ps:: pgfoò ps:: 2.5697 3.6697 1.6697 2.5697 pgfR1 2.1918 0.95 0.9 0.95 0.09999 0.09999 0.34999 pgfshade 1.59401 0.09999 0.09999 0.34999 0.14 0.14 0.49 pgfshade 0.797 0.14 0.14 0.49 0.4 0.4 0.775 pgfshade 0.0 0.4 0.4 0.775 0.88 0.88 0.955 pgfshade 0.88 0.88 0.955 0.0 pgfR2(ï ps:: pgfcï ps::[end](ï color poplÐï color popæjºTÿeranslato²!r¦ftranslatesfromonelanguage|the¤ æjÌfrom-languageº|to¦fanotherlanguage|theÌto-language©ïcolor...
0 TeXcolorgray -2426 5229 a Fm(T)-101 b(ranslato)-34 b(r)405 b(translates)e(from)i(one)f(language|the)-2426 6734 y Fh(from-language)p Fm(|to)h(another)g(language|the)g Fh(to-language)p 0 TeXcolorgray 0.2 0.2 0.7 TeXcolorrgb -3603 8550 a
®wľÙ~[ÕÖ¸Hí ¸øÑ0§yÜ+Úþ^gÏ/¯:©¸ï$k hÓv´pRý¤ÛÂ.m³¦Ø&{[%½Õ¯ÒícÛ`g«ÅrÐX£ý¤ÙýÃê¶n^_u+}¼«¦~]ç6ÀëÍù¾d-Ê.·×«ëº[T¯íFk[ØåᣠxÖÄ+½ 6ài¡qÐ>f¹öXQ¬+Êeá15dã :!ÈNè0^uè0nk`pRz4õþdÇ&u÷vÝ®l »Ü]|ú°+zÒöe÷oX ×ía{«ÅqÐcX£eu|'¤í3KqÍý%çê9ULö±Õú=pX¥ÁWqi\êòÝyñäV¯«nB/»wåVûûÅËú,¶UÞWÜê¯ß£<î
Martins-MacBook-Pro:~/Documents/cs4215/slides henz$ latex slides_01 This is pdfeTeX, Version 3.141592-1.21a-2.2 (Web2C 7.5.4) entering extended mode (./slides_01.tex LaTeX2e <2003/12/01> ... (see the transcript file for additional information) Output written on slides_01.dvi (49 pages, 739588 bytes). Transcript written on slides_01.log. Martins-MacBook-Pro:~/Documents/cs4215/slides henz$ dvips -P pdf -G0 slides_01.dvi This is dvips(k) 5.95a Copyright 2005 Radical Eye Software (www.radicaleye.com) ' TeX output 2006.08.15:1330' -> slides_01.ps. [1] [2] [3] [4] [5] [6] [7] [8] [9] [10] [11] [12] [13] [14] [15] [16] [17] [18] [19] [20] [21] [22] [23] [24] [25] [26] [27] [28] [29] [30] [31] [32] [33] [34] [35] [36] [37] [38] [39] [40] [41] [42] [43] [44] [45] [46] [47] [48] [49] Martins-MacBook-Pro:~/Documents/cs4215/slides henz$ ps2pdf slides_01.ps slides_01.pdf Martins-MacBook-Pro:~/Documents/cs4215/slides henz$ ls slides_01.aux slides_01.log slides_01.pdf slides_01.dvi slides_01.nav slides_01.toc slides_01.out slides_01.ps slides_01.tex Martins-MacBook-Pro:~/Documents/cs4215/slides henz$
slides_01.tex
changes. To facilitate the process of
running such sequences of translators, the make
utility was
invented. The make
utility reads a description of file
dependencies and executes specified programs, whenever the time of
generation of a file indicates that it is out of date. Traditionally,
this description is kept in a file called Makefile
.
For example, in order to specify that the program ps2pdf
should be run, whenever a file filename.ps
is younger
than the corresponding file filename.pdf
, the
Makefile
may include the following code.
%.pdf: %.ps ps2pdf $< $@
To run the make
utility to produce slides_01.pdf
after
slides_01.tex
has changed, we only need to type
Martins-MacBook-Pro:~/Documents/cs4215/slides henz$ make slides_01.pdf
In the
terminology of Lecture 01, the make
tool can be seen as an
interpreter of the Makefile
.
The Makefile used for the slides is available here.
This is the question that has been creeping up in your mind while reading this page, hasn't it? Well, there are a number of good reasons why LaTeX is preferrable to WYSIWYG tools such as PowerPoint and Word.
A well-written article on the topic is available here.