-
Notifications
You must be signed in to change notification settings - Fork 0
/
HW2004_slides.tex
97 lines (82 loc) · 2.68 KB
/
HW2004_slides.tex
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
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
\documentclass{seminar}
\usepackage{alltt}
\usepackage{epsfig}
\newcommand{\slideheading}[1]{\begin{center}\large\bf{#1}\end{center}\bigskip}
\newcommand{\epspicture}[1]{\begin{figure}\centerline{\epsfig{figure={#1}}}\end{figure}}
\begin{document}
\begin{slide}
\begin{center}
{\large \bf BNF Converter Demo \\
\vspace*{0.5cm}
Haskell Workshop 2004\\}
{\normalsize
\vspace*{1.5cm}
Markus Forsberg ([email protected])\\
2004-09-22}
\end{center}
\end{slide}
\begin{slide}
\slideheading{BNF Converter}
\begin{itemize}
\item BNF Converter is a tool for generating multi-lingual
compiler front-ends
(lexers, parsers, pretty-printers, documentations etc) for
formal languages, in particular programming languages.
\item The BNFC language is a highly declarative language called
LBNF, which is essentially BNF.
\end{itemize}
\end{slide}
\begin{slide}
\slideheading{BNF Converter Restrictions}
\begin{itemize}
\item The lexical tokens must be describable with a regular
expression.
\item The syntax must be context-free, i.e. describable by a
BNF grammar.
\item The comments should also be describable by a regular
expressions, i.e. nested comments are not allowed.
\end{itemize}
\end{slide}
\begin{slide}
\slideheading{Language Designer}
\begin{itemize}
\item BNF Converter has been proven to be a valuable tool for
language designers.
\item A language designer can focus on the definition of the language, not at tedious
and repetitive coding.
\item Due to the multi-linguality, the language designer
don't have to choose an
implementation language when she develops her language. She may
prefer to prototype her language in Haskell, and have her final
system in C, or the other way around.
\end{itemize}
\end{slide}
\begin{slide}
\slideheading{Data Exchange Format}
\begin{itemize}
\item Yet another use of BNF Converter is as a \textbf{Data exchange
format}.
\item BNF Converter's multi-linguality provides a convenient way
of communicating data between different programming languages.
\end{itemize}
\end{slide}
\begin{slide}
\slideheading{Demo Overview: The LBNF Format}
\begin{itemize}
\item A brief going-through of the BNFC source format LBNF.
\item A demo on how to run BNFC and how the generate code looks like.
\end{itemize}
\end{slide}
\begin{slide}
\slideheading{The People behind BNF Converter \\ (in alphabetical order)}
\begin{itemize}
\item Bj{\"o}rn Bringert
\item Markus Forsberg
\item Peter Gammie
\item Patrik Jansson
\item Antti-Juhani Kaijanaho
\item Michael Pellauer
\item Aarne Ranta
\end{itemize}
\end{slide}
\end{document}