From 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 Mon Sep 17 00:00:00 2001
From: Elizabeth Alexander Hunt <me@liz.coffee>
Date: Thu, 2 Jul 2026 11:55:17 -0700
Subject: Init

---
 Homework/cs5300/homework-six/compilers_assn_6.tex | 141 ++++++++++++++++++++++
 1 file changed, 141 insertions(+)
 create mode 100644 Homework/cs5300/homework-six/compilers_assn_6.tex

(limited to 'Homework/cs5300/homework-six/compilers_assn_6.tex')

diff --git a/Homework/cs5300/homework-six/compilers_assn_6.tex b/Homework/cs5300/homework-six/compilers_assn_6.tex
new file mode 100644
index 0000000..bec27f3
--- /dev/null
+++ b/Homework/cs5300/homework-six/compilers_assn_6.tex
@@ -0,0 +1,141 @@
+% Created 2023-02-21 Tue 21:49
+% Intended LaTeX compiler: lualatex
+\documentclass[11pt]{article}
+\usepackage{graphicx}
+\usepackage{longtable}
+\usepackage{wrapfig}
+\usepackage{rotating}
+\usepackage[normalem]{ulem}
+\usepackage{amsmath}
+\usepackage{amssymb}
+\usepackage{capt-of}
+\usepackage{hyperref}
+\notindent \notga \usepackage{ dsfont } \usepackage[utf8]{inputenc}  \usepackage{amsmath} \usepackage{fontspec} \usepackage[a4paper,margin=1in,portrait]{geometry} \usepackage{fontspec} \setmonofont{DejaVu Sans Mono}
+\author{Lizzy Hunt}
+\date{\today}
+\title{Assignment Six}
+\hypersetup{
+ pdfauthor={Lizzy Hunt},
+ pdftitle={Assignment Six},
+ pdfkeywords={},
+ pdfsubject={},
+ pdfcreator={Emacs 28.2 (Org mode 9.6.1)}, 
+ pdflang={English}}
+\begin{document}
+
+\maketitle
+\setlength\parindent{0pt}
+
+\section{Question One}
+\label{sec:orgd2b70de}
+\begin{verbatim}
+A  -> BcDA'
+A' -> eD | ε
+B  -> xBB'
+B' -> yD | zD | ε
+D  -> Z
+\end{verbatim}
+
+\section{Question Two}
+\label{sec:org3d41f44}
+\begin{verbatim}
+A  -> wA'
+A' -> xA' | yA' | ε
+\end{verbatim}
+
+\section{Question Three}
+\label{sec:org454e290}
+\begin{verbatim}
+A  -> wA' | yzA'
+A' -> xA' | ε
+\end{verbatim}
+
+\section{Question Four}
+\label{sec:orgafb492b}
+\begin{verbatim}
+A  -> Bx
+B  -> Cy | Dz
+C  -> Awp | z
+D  -> t
+
+For i = 1, there is no immediate left recursion
+
+When i = 2 there is also no immediate left recursion
+
+When i = 3 we substituted A in C:
+
+A  -> Bx
+B  -> Cy | Dz
+C  -> Bxwp | z
+D  -> t
+
+Then B:
+A  -> Bx
+B  -> Cy | Dz
+C  -> Cyxwp | Dzxwp | z
+D  -> t
+
+And remove the immediate left recursion in C:
+A  -> Bx
+B  -> Cy | Dz
+C  -> Dzxwp | zC'
+C' -> yxwpC' | ε
+D  -> t
+
+When i = 4, there's no left recursion
+
+\end{verbatim}
+
+\section{Question Five}
+\label{sec:orged171dd}
+\begin{verbatim}
+A  -> Bx | Cy
+B  -> Cz
+C  -> Bw | v
+
+When i = 1, no immediate left recursion
+
+When i = 2, no immediate left recursion
+
+When i = 3, we substitute B in C
+
+A  -> Bx | Cy
+B  -> Cz
+C  -> Czw | v
+
+, which we remove the immediate left recursion from
+
+A  -> Bx | Cy
+B  -> Cz
+C  -> vC'
+C' -> zwC' | ε
+\end{verbatim}
+
+\section{Question Six}
+\label{sec:org0f2cc1b}
+\begin{verbatim}
+first(A)  = first(B) \ ε U first(x) U first(y) = {t, w, u, x, y}
+first(B)  = first(C) U first(u) U {ε} = {t, w, u, ε}
+first(C)  = first(t) U first(w) = {t, w}
+
+follow(A) = {$} U follow(B) = {$, x}
+follow(B) = {x}
+follow(C) = follow(A) U {z} = {$, x, z}
+\end{verbatim}
+
+\section{Question Seven}
+\label{sec:orgd013fa5}
+\begin{verbatim}
+first(A)  = first(C) = first(E) = {x, z}
+first(B)  = first(a) U {ε} = {a, ε}
+first(C)  = first(E) = {x, z}
+first(D)  = first(b) U {ε} = {b, ε}
+first(E)  = first(x) U first(z) = {x, z}
+
+follow(A) = {$} U first(y) = {$, y}
+follow(B) = follow(A) = {$, y}
+follow(C) = first(B) \ ε U follow(B)= {a, $, y}
+follow(D) = follow(C) = {a, $, y}
+follow(E) = first(D) \ ε U follow(D) = {b, a, $, y}
+\end{verbatim}
+\end{document}
\ No newline at end of file
-- 
cgit v1.3

