Skip to content

Commit d1494d1

Browse files
committed
[CMPT 379] Add worksheets
1 parent e5e90b0 commit d1494d1

File tree

8 files changed

+951
-0
lines changed

8 files changed

+951
-0
lines changed
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
%
2+
% CMPT 379: Principles of Compiler Design - Lexical Analysis Worksheet
3+
%
4+
% Author: Jeffrey Leung
5+
%
6+
7+
\documentclass[10pt, oneside, letterpaper]{article}
8+
9+
\usepackage{amsmath}
10+
\usepackage[ampersand]{easylist}
11+
\ListProperties(
12+
Progressive*=5ex,
13+
Space=5pt,
14+
Space*=5pt,
15+
Style1*=\textbullet\ \ ,
16+
Style2*=\begin{normalfont}\begin{bfseries}\textendash\end{bfseries}\end{normalfont} \ \ ,
17+
Style3*=\textasteriskcentered\ \ ,
18+
Style4*=\begin{normalfont}\begin{bfseries}\textperiodcentered\end{bfseries}\end{normalfont}\ \ ,
19+
Style5*=\textbullet\ \ ,
20+
Style6*=\begin{normalfont}\begin{bfseries}\textendash\end{bfseries}\end{normalfont}\ \ ,
21+
Style7*=\textasteriskcentered\ \ ,
22+
Style8*=\begin{normalfont}\begin{bfseries}\textperiodcentered\end{bfseries}\end{normalfont}\ \ ,
23+
Hide1=1,
24+
Hide2=2,
25+
Hide3=3,
26+
Hide4=4,
27+
Hide5=5,
28+
Hide6=6,
29+
Hide7=7,
30+
Hide8=8 )
31+
\usepackage{geometry}
32+
\geometry{margin=1.2in}
33+
\usepackage{graphicx}
34+
\graphicspath{ {img/} }
35+
\usepackage[colorlinks=true, linkcolor=blue]{hyperref}
36+
\usepackage{listings}
37+
\usepackage{lmodern} % Allows the use of symbols in font size 10; http://ctan.org/pkg/lm
38+
\usepackage{multirow}
39+
\usepackage{textcomp} % Allows the use of \textbullet with the font
40+
\usepackage{verbatim}
41+
42+
\renewcommand{\arraystretch}{1.2}
43+
\renewcommand{\familydefault}{\sfdefault}
44+
45+
\title{CMPT 379: Principles of Compiler Design \\\medskip \Large Lexical Analysis Worksheet (Answers)}
46+
\author{}
47+
\date{}
48+
49+
\begin{document}
50+
51+
\maketitle
52+
53+
Given the following token definitions as regular expressions:
54+
\begin{lstlisting}
55+
TOKEN_A cda*
56+
TOKEN_B c*a*c
57+
TOKEN_C c*b
58+
\end{lstlisting}
59+
60+
Provide the tokenized output for the following input strings using the greedy longest match lexical analysis method. Provide the list of tokens and the lexeme values.
61+
62+
\begin{enumerate}
63+
\item cdaaab
64+
\begin{lstlisting}
65+
TOKEN_A cdaaa
66+
TOKEN_C b
67+
\end{lstlisting}
68+
69+
\item cdccc
70+
\begin{lstlisting}
71+
TOKEN_A cd
72+
TOKEN_B ccc
73+
\end{lstlisting}
74+
75+
\item ccc
76+
\begin{lstlisting}
77+
TOKEN_B ccc
78+
\end{lstlisting}
79+
80+
\item cdccd
81+
\begin{lstlisting}
82+
TOKEN_A cd
83+
TOKEN_B cc
84+
ERROR
85+
\end{lstlisting}
86+
87+
\end{enumerate}
88+
89+
\vspace{2cm}
90+
91+
\end{document}
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
%
2+
% CMPT 379: Principles of Compiler Design - Lexical Analysis Worksheet
3+
%
4+
% Author: Jeffrey Leung
5+
%
6+
7+
\documentclass[10pt, oneside, letterpaper]{article}
8+
9+
\usepackage{amsmath}
10+
\usepackage[ampersand]{easylist}
11+
\ListProperties(
12+
Progressive*=5ex,
13+
Space=5pt,
14+
Space*=5pt,
15+
Style1*=\textbullet\ \ ,
16+
Style2*=\begin{normalfont}\begin{bfseries}\textendash\end{bfseries}\end{normalfont} \ \ ,
17+
Style3*=\textasteriskcentered\ \ ,
18+
Style4*=\begin{normalfont}\begin{bfseries}\textperiodcentered\end{bfseries}\end{normalfont}\ \ ,
19+
Style5*=\textbullet\ \ ,
20+
Style6*=\begin{normalfont}\begin{bfseries}\textendash\end{bfseries}\end{normalfont}\ \ ,
21+
Style7*=\textasteriskcentered\ \ ,
22+
Style8*=\begin{normalfont}\begin{bfseries}\textperiodcentered\end{bfseries}\end{normalfont}\ \ ,
23+
Hide1=1,
24+
Hide2=2,
25+
Hide3=3,
26+
Hide4=4,
27+
Hide5=5,
28+
Hide6=6,
29+
Hide7=7,
30+
Hide8=8 )
31+
\usepackage{geometry}
32+
\geometry{margin=1.2in}
33+
\usepackage{graphicx}
34+
\graphicspath{ {img/} }
35+
\usepackage[colorlinks=true, linkcolor=blue]{hyperref}
36+
\usepackage{listings}
37+
\usepackage{lmodern} % Allows the use of symbols in font size 10; http://ctan.org/pkg/lm
38+
\usepackage{multirow}
39+
\usepackage{textcomp} % Allows the use of \textbullet with the font
40+
\usepackage{verbatim}
41+
42+
\renewcommand{\arraystretch}{1.2}
43+
\renewcommand{\familydefault}{\sfdefault}
44+
45+
\title{CMPT 379: Principles of Compiler Design \\\medskip \Large Lexical Analysis Worksheet}
46+
\author{}
47+
\date{}
48+
49+
\begin{document}
50+
51+
\maketitle
52+
53+
Given the following token definitions as regular expressions:
54+
\begin{lstlisting}
55+
TOKEN_A cda*
56+
TOKEN_B c*a*c
57+
TOKEN_C c*b
58+
\end{lstlisting}
59+
60+
Provide the tokenized output for the following input strings using the greedy longest match lexical analysis method. Provide the list of tokens and the lexeme values.
61+
62+
\begin{enumerate}
63+
\item cdaaab
64+
\vspace{2cm}
65+
66+
\item cdccc
67+
\vspace{2cm}
68+
69+
\item ccc
70+
\vspace{2cm}
71+
72+
\item cdccd
73+
\vspace{2cm}
74+
75+
\end{enumerate}
76+
77+
\vspace{2cm}
78+
79+
\end{document}

0 commit comments

Comments
 (0)