From 6bf4b90c90f15f4ab60833bddf5b5756d1a6b1f6 Mon Sep 17 00:00:00 2001 From: Elizabeth Alexander Hunt Date: Thu, 2 Jul 2026 11:55:17 -0700 Subject: Init --- Homework/cs5300/homework-four/1a.excalidraw.png | Bin 0 -> 20803 bytes Homework/cs5300/homework-four/1b.excalidraw.png | Bin 0 -> 19959 bytes Homework/cs5300/homework-four/1c.excalidraw.png | Bin 0 -> 18318 bytes Homework/cs5300/homework-four/1d.excalidraw.png | Bin 0 -> 42985 bytes Homework/cs5300/homework-four/1e.excalidraw.png | Bin 0 -> 46844 bytes Homework/cs5300/homework-four/1f.excalidraw.png | Bin 0 -> 47154 bytes Homework/cs5300/homework-four/4a.excalidraw.png | Bin 0 -> 58892 bytes Homework/cs5300/homework-four/4b.excalidraw.png | Bin 0 -> 27171 bytes Homework/cs5300/homework-four/4c.excalidraw.png | Bin 0 -> 16818 bytes Homework/cs5300/homework-four/5.1.excalidraw.png | Bin 0 -> 8257 bytes Homework/cs5300/homework-four/5.2.excalidraw.png | Bin 0 -> 24278 bytes Homework/cs5300/homework-four/51a.excalidraw.png | Bin 0 -> 48029 bytes Homework/cs5300/homework-four/51b.excalidraw.png | Bin 0 -> 26470 bytes Homework/cs5300/homework-four/51c.excalidraw.png | Bin 0 -> 9050 bytes Homework/cs5300/homework-four/52a.excalidraw.png | Bin 0 -> 83495 bytes Homework/cs5300/homework-four/52b.excalidraw.png | Bin 0 -> 27603 bytes Homework/cs5300/homework-four/52c.excalidraw.png | Bin 0 -> 10492 bytes Homework/cs5300/homework-four/6a.excalidraw.png | Bin 0 -> 44227 bytes Homework/cs5300/homework-four/6b.excalidraw.png | Bin 0 -> 14634 bytes Homework/cs5300/homework-four/6c.excalidraw.png | Bin 0 -> 42811 bytes .../cs5300/homework-four/compilers_assn_4.html | 942 +++++++++++++++++++++ Homework/cs5300/homework-four/compilers_assn_4.org | 236 ++++++ Homework/cs5300/homework-four/compilers_assn_4.pdf | Bin 0 -> 578598 bytes Homework/cs5300/homework-four/compilers_assn_4.tex | 346 ++++++++ 24 files changed, 1524 insertions(+) create mode 100644 Homework/cs5300/homework-four/1a.excalidraw.png create mode 100644 Homework/cs5300/homework-four/1b.excalidraw.png create mode 100644 Homework/cs5300/homework-four/1c.excalidraw.png create mode 100644 Homework/cs5300/homework-four/1d.excalidraw.png create mode 100644 Homework/cs5300/homework-four/1e.excalidraw.png create mode 100644 Homework/cs5300/homework-four/1f.excalidraw.png create mode 100644 Homework/cs5300/homework-four/4a.excalidraw.png create mode 100644 Homework/cs5300/homework-four/4b.excalidraw.png create mode 100644 Homework/cs5300/homework-four/4c.excalidraw.png create mode 100644 Homework/cs5300/homework-four/5.1.excalidraw.png create mode 100644 Homework/cs5300/homework-four/5.2.excalidraw.png create mode 100644 Homework/cs5300/homework-four/51a.excalidraw.png create mode 100644 Homework/cs5300/homework-four/51b.excalidraw.png create mode 100644 Homework/cs5300/homework-four/51c.excalidraw.png create mode 100644 Homework/cs5300/homework-four/52a.excalidraw.png create mode 100644 Homework/cs5300/homework-four/52b.excalidraw.png create mode 100644 Homework/cs5300/homework-four/52c.excalidraw.png create mode 100644 Homework/cs5300/homework-four/6a.excalidraw.png create mode 100644 Homework/cs5300/homework-four/6b.excalidraw.png create mode 100644 Homework/cs5300/homework-four/6c.excalidraw.png create mode 100644 Homework/cs5300/homework-four/compilers_assn_4.html create mode 100644 Homework/cs5300/homework-four/compilers_assn_4.org create mode 100644 Homework/cs5300/homework-four/compilers_assn_4.pdf create mode 100644 Homework/cs5300/homework-four/compilers_assn_4.tex (limited to 'Homework/cs5300/homework-four') diff --git a/Homework/cs5300/homework-four/1a.excalidraw.png b/Homework/cs5300/homework-four/1a.excalidraw.png new file mode 100644 index 0000000..8d32414 Binary files /dev/null and b/Homework/cs5300/homework-four/1a.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/1b.excalidraw.png b/Homework/cs5300/homework-four/1b.excalidraw.png new file mode 100644 index 0000000..48052c9 Binary files /dev/null and b/Homework/cs5300/homework-four/1b.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/1c.excalidraw.png b/Homework/cs5300/homework-four/1c.excalidraw.png new file mode 100644 index 0000000..ee91905 Binary files /dev/null and b/Homework/cs5300/homework-four/1c.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/1d.excalidraw.png b/Homework/cs5300/homework-four/1d.excalidraw.png new file mode 100644 index 0000000..63c1047 Binary files /dev/null and b/Homework/cs5300/homework-four/1d.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/1e.excalidraw.png b/Homework/cs5300/homework-four/1e.excalidraw.png new file mode 100644 index 0000000..e2fd108 Binary files /dev/null and b/Homework/cs5300/homework-four/1e.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/1f.excalidraw.png b/Homework/cs5300/homework-four/1f.excalidraw.png new file mode 100644 index 0000000..9499748 Binary files /dev/null and b/Homework/cs5300/homework-four/1f.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/4a.excalidraw.png b/Homework/cs5300/homework-four/4a.excalidraw.png new file mode 100644 index 0000000..3738bea Binary files /dev/null and b/Homework/cs5300/homework-four/4a.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/4b.excalidraw.png b/Homework/cs5300/homework-four/4b.excalidraw.png new file mode 100644 index 0000000..0c0ac27 Binary files /dev/null and b/Homework/cs5300/homework-four/4b.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/4c.excalidraw.png b/Homework/cs5300/homework-four/4c.excalidraw.png new file mode 100644 index 0000000..3387c62 Binary files /dev/null and b/Homework/cs5300/homework-four/4c.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/5.1.excalidraw.png b/Homework/cs5300/homework-four/5.1.excalidraw.png new file mode 100644 index 0000000..c8b213e Binary files /dev/null and b/Homework/cs5300/homework-four/5.1.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/5.2.excalidraw.png b/Homework/cs5300/homework-four/5.2.excalidraw.png new file mode 100644 index 0000000..348d8da Binary files /dev/null and b/Homework/cs5300/homework-four/5.2.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/51a.excalidraw.png b/Homework/cs5300/homework-four/51a.excalidraw.png new file mode 100644 index 0000000..c3c4376 Binary files /dev/null and b/Homework/cs5300/homework-four/51a.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/51b.excalidraw.png b/Homework/cs5300/homework-four/51b.excalidraw.png new file mode 100644 index 0000000..58df697 Binary files /dev/null and b/Homework/cs5300/homework-four/51b.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/51c.excalidraw.png b/Homework/cs5300/homework-four/51c.excalidraw.png new file mode 100644 index 0000000..702f1a1 Binary files /dev/null and b/Homework/cs5300/homework-four/51c.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/52a.excalidraw.png b/Homework/cs5300/homework-four/52a.excalidraw.png new file mode 100644 index 0000000..d325abf Binary files /dev/null and b/Homework/cs5300/homework-four/52a.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/52b.excalidraw.png b/Homework/cs5300/homework-four/52b.excalidraw.png new file mode 100644 index 0000000..cd1a0b2 Binary files /dev/null and b/Homework/cs5300/homework-four/52b.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/52c.excalidraw.png b/Homework/cs5300/homework-four/52c.excalidraw.png new file mode 100644 index 0000000..7bf7ae6 Binary files /dev/null and b/Homework/cs5300/homework-four/52c.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/6a.excalidraw.png b/Homework/cs5300/homework-four/6a.excalidraw.png new file mode 100644 index 0000000..b733155 Binary files /dev/null and b/Homework/cs5300/homework-four/6a.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/6b.excalidraw.png b/Homework/cs5300/homework-four/6b.excalidraw.png new file mode 100644 index 0000000..d27ef0b Binary files /dev/null and b/Homework/cs5300/homework-four/6b.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/6c.excalidraw.png b/Homework/cs5300/homework-four/6c.excalidraw.png new file mode 100644 index 0000000..d73f558 Binary files /dev/null and b/Homework/cs5300/homework-four/6c.excalidraw.png differ diff --git a/Homework/cs5300/homework-four/compilers_assn_4.html b/Homework/cs5300/homework-four/compilers_assn_4.html new file mode 100644 index 0000000..9c2110c --- /dev/null +++ b/Homework/cs5300/homework-four/compilers_assn_4.html @@ -0,0 +1,942 @@ + + + + + + + +Assignment Three + + + + + +
+

Assignment Three

+ +
+

1. Question One

+
+
+
+

1.1. a

+
+ +
+

1a.excalidraw.png +

+
+
+
+
+

1.2. b

+
+ +
+

1b.excalidraw.png +

+
+
+
+
+

1.3. c

+
+ +
+

1c.excalidraw.png +

+
+
+
+
+

1.4. d

+
+ +
+

1d.excalidraw.png +

+
+
+
+
+

1.5. e

+
+ +
+

1e.excalidraw.png +

+
+
+
+
+

1.6. f

+
+ +
+

1f.excalidraw.png +

+
+
+
+
+ +
+

2. Question Two

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stateabe
0φφ{1, 3}
1{2, 4}{4}φ
2{2}φφ
3φ{4}φ
4φ{4}φ
+
+
+ +
+

3. Question Three

+
+ + + +++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
Stateab
010
112
213
310
+
+
+ +
+

4. Question Four

+
+
+
+

4.1. a

+
+ +
+

4a.excalidraw.png +

+
+
+
+
+

4.2. b

+
+ + + +++ ++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DFA StateNFA Statesabc
d0{s0, s1, s2, s5, s9}{s3, s6} (d1)sese
d1{s3, s6}se{s4, s8, s9, s1, s2, s5} (d2){s7, s8, s9, s1, s2, s5} (d3)
d2{s4, s8, s9, s1, s2, s5}{s3, s6} (d1)sese
d3{s7, s8, s9, s1, s2, s5}{s3, s6} (d1)sese
+ + +
+

4b.excalidraw.png +

+
+
+
+
+

4.3. c

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + +
partitionabc
{d1}, {d0, d2, d3}{d0, d2, d3} ⇒ {d1, d0, d0}{d0, d2, d3} ⇒ {-, -, -}{d0, d2, d3} ⇒ {-, -, -}
{d1}, {d0}, {d2, d3}{d2, d3} ⇒ {d0, d0}{d2, d3} ⇒ {-, -}{d2, d3} ⇒ {-, -}
+ + +
+

4c.excalidraw.png +

+
+
+
+
+ +
+

5. Question Five

+
+
+
+

5.1. regex 1

+
+
+
+

5.1.1. NFA

+
+ +
+

51a.excalidraw.png +

+
+
+
+ +
+

5.1.2. DFA

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DFA StateNFA States10
d0{s0, s1, s2, s4, s7}{s1, s2, s3, s4, s6, s7} (d1){s1, s2, s4, s5, s6, s7} (d2)
d1{s1, s2, s3, s4, s6, s7}d1d2
d2{s1, s2, s4, s5, s6, s7}d1d2
+ + +
+

51b.excalidraw.png +

+
+
+
+ +
+

5.1.3. Minimization

+
+ + + +++ ++ ++ + + + + + + + + + + + + + +
partition10
{d0, d1, d2}{d0, d1, d2} ⇒ {d1, d1, d1}{d0, d1, d2} ⇒ {d2, d2, d2}
+ + +
+

51c.excalidraw.png +

+
+
+
+
+ +
+

5.2. regex 2

+
+
+
+

5.2.1. NFA

+
+ +
+

52a.excalidraw.png +

+
+
+
+
+

5.2.2. DFA

+
+ + + +++ ++ ++ ++ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
DFA StateNFA States10
d0{s0, s1, s2, s3, s5, s11, s6, s12 }{s1, s2, s3, s5, s6, s7, s8, s10, s11, s12} (d1){s1, s2, s3, s4, s5, s11, s6, s12} (d2)
d1{s1, s2, s3, s5, s6, s7, s8, s10, s11, s12}d1{s1, s2, s3, s4, s5, s9, s11, s6, s12} (d3)
d2{s1, s2, s3, s4, s5, s11, s6}d1d2
d3{s1, s2, s3, s4, s5, s9, s11, s6, s12}d1d2
+ + +
+

52b.excalidraw.png +

+
+
+
+ +
+

5.2.3. Minimization

+
+ + + +++ ++ ++ + + + + + + + + + + + + + +
partition10
{d0, d1, d2, d3}{d0, d1, d2, d3} ⇒ {d1, d1, d1, d1}{d0, d1, d2, d3} ⇒ {d2, d3, d2, d2}
+ + +
+

52c.excalidraw.png +

+
+
+
+
+
+ +
+

6. Question Six

+
+
+
+

6.1. a

+
+
+
+

6.1.1. DFA

+
+ +
+

6a.excalidraw.png +

+
+
+
+ +
+

6.1.2. catMap

+
+
+
{
+  '-': 'sign',
+  '+': 'sign',
+  [0-9]: 'digit',
+  'e': 'scntfc'
+}
+
+
+
+
+ +
+

6.1.3. transMap

+
+
+
{
+  's0': {
+    'sign': 's1',
+    'digit': 's2',
+  },
+  's1': {
+    'digit': 's2',
+  },
+  's2': {
+    'digit': 's2',
+    'scntfc': 's3',
+  },
+  's3': {
+    'sign': 's4',
+    'digit': 's5',
+  },
+  's4': {
+    'digit': 's6',
+  },
+  's5': {
+    'digit': 's6',
+  },
+  's6': {
+    'digit': 's6',
+  },
+}
+
+
+
+
+ +
+

6.1.4. tokenTypes

+
+
+
{
+  's2': 'integer',
+  's6': 'integer,
+}
+
+
+
+
+
+
+

6.2. b

+
+
+
+

6.2.1. DFA

+
+ +
+

6b.excalidraw.png +

+
+
+
+ +
+

6.2.2. catMap

+
+
+
{
+  [a-zA-Z]: 'letter',
+  '_': 'letter',
+  [0-9]: 'digit',
+}
+
+
+
+
+ +
+

6.2.3. transMap

+
+
+
{
+  's1': {
+    'letter': 's2'
+  },
+  's2': {
+    'letter': 's2',
+    'digit': 's2',
+  },
+}
+
+
+
+
+
+ +
+

6.3. c

+
+
+
+

6.3.1. DFA

+
+ +
+

6c.excalidraw.png +

+
+
+
+ +
+

6.3.2. catMap

+
+
+
{
+  [^(\n)*/]: 'nonc',
+  '\n': 'newline',
+  'eof': 'eof',
+  '/': 'slash',
+  '*': 'star'
+}
+
+
+
+
+
+

6.3.3. transMap

+
+
+
{
+  's0': {
+    'slash': 's1',
+  },
+  's1': {
+    'slash': 's2',
+    'star': 's4',
+  },
+  's2': {
+    'nonc': 's2',
+    'newline': 's3',
+    'eof': 's3'
+  },
+  's4': {
+    'nonc': 's4',
+    'star': 's5',
+  },
+  's5': {
+    'nonc': 's4',
+    'newline': 's4',
+    'slash': 's6'
+  }
+}
+
+
+
+
+ +
+

6.3.4. tokenType

+
+
+
{
+  's3': 'singleLineComment',
+  's6': 'multiLineComment',
+}
+
+
+
+
+
+
+
+
+

Author: Lizzy Hunt

+

Created: 2023-02-12 Sun 17:33

+

Validate

+
+ + \ No newline at end of file diff --git a/Homework/cs5300/homework-four/compilers_assn_4.org b/Homework/cs5300/homework-four/compilers_assn_4.org new file mode 100644 index 0000000..da16615 --- /dev/null +++ b/Homework/cs5300/homework-four/compilers_assn_4.org @@ -0,0 +1,236 @@ +#+TITLE: Assignment Three +#+AUTHOR: Lizzy Hunt +#+STARTUP: entitiespretty fold inlineimages +#+LATEX_HEADER: \notindent \notga \usepackage{ dsfont } \usepackage{amsmath} \usepackage[a4paper,margin=1in,landscape]{geometry} +#+LATEX: \setlength\parindent{0pt} +#+OPTIONS: toc:nil + +* Question One +** a +#+attr_latex: :width 250px +[[./1a.excalidraw.png]] +** b +#+attr_latex: :width 250px +[[./1b.excalidraw.png]] +** c +#+attr_latex: :width 250px +[[./1c.excalidraw.png]] +** d +#+attr_latex: :width 250px +[[./1d.excalidraw.png]] +** e +#+attr_latex: :width 250px +[[./1e.excalidraw.png]] +** f +#+attr_latex: :width 200px +[[./1f.excalidraw.png]] + +* Question Two +| State | a | b | e | +| 0 | \phi | \phi | {1, 3} | +| 1 | {2, 4} | {4} | \phi | +| 2 | {2} | \phi | \phi | +| 3 | \phi | {4} | \phi | +| 4 | \phi | {4} | \phi | + +* Question Three +| State | a | b | +| 0 | 1 | 0 | +| 1 | 1 | 2 | +| 2 | 1 | 3 | +| 3 | 1 | 0 | + +* Question Four +** a +#+attr_latex: :width 350px +[[./4a.excalidraw.png]] +** b +| DFA State | NFA States | a | b | c | +| d_0 | {s_0, s_1, s_2, s_5, s_9} | {s_3, s_6} (d_1) | s_e | s_e | +| d_1 | {s_3, s_6} | s_e | {s_4, s_8, s_9, s_1, s_2, s_5} (d_2) | {s_7, s_8, s_9, s_1, s_2, s_5} (d_3) | +| d_2 | {s_4, s_8, s_9, s_1, s_2, s_5} | {s_3, s_6} (d_1) | s_e | s_e | +| d_3 | {s_7, s_8, s_9, s_1, s_2, s_5} | {s_3, s_6} (d_1) | s_e | s_e | + +#+attr_latex: :width 200px +[[./4b.excalidraw.png]] +** c +| partition | a | b | c | +| {d_1}, {d_0, d_2, d_3} | {d_0, d_2, d_3} \Rightarrow {d_1, d_0, d_0} | {d_0, d_2, d_3} \Rightarrow {-, -, -} | {d_0, d_2, d_3} \Rightarrow {-, -, -} | +| {d_1}, {d_0}, {d_2, d_3} | {d_2, d_3} \Rightarrow {d_0, d_0} | {d_2, d_3} \Rightarrow {-, -} | {d_2, d_3} \Rightarrow {-, -} | + +#+attr_latex: :width 200px +[[./4c.excalidraw.png]] + +* Question Five +** regex 1 +*** NFA +#+attr_latex: :width 350px +[[./51a.excalidraw.png]] + +*** DFA +| DFA State | NFA States | 1 | 0 | +| d_0 | {s_0, s_1, s_2, s_4, s_7} | {s_1, s_2, s_3, s_4, s_6, s_7} (d_1) | {s_1, s_2, s_4, s_5, s_6, s_7} (d_2) | +| d_1 | {s_1, s_2, s_3, s_4, s_6, s_7} | d_1 | d_2 | +| d_2 | {s_1, s_2, s_4, s_5, s_6, s_7} | d_1 | d_2 | + +#+attr_latex: :width 200px +[[./51b.excalidraw.png]] + +*** Minimization +| partition | 1 | 0 | +| {d_0, d_1, d_2} | {d_0, d_1, d_2} \Rightarrow {d_1, d_1, d_1} | {d_0, d_1, d_2} \Rightarrow {d_2, d_2, d_2} | + +#+attr_latex: :width 75px +[[./51c.excalidraw.png]] + +** regex 2 +*** NFA +#+attr_latex: :width 350px +[[./52a.excalidraw.png]] +*** DFA +| DFA State | NFA States | 1 | 0 | +| d_0 | {s_0, s_1, s_2, s_3, s_5, s_11, s_6, s_12 } | {s_1, s_2, s_3, s_5, s_6, s_7, s_8, s_10, s_11, s_12} (d_1) | {s_1, s_2, s_3, s_4, s_5, s_11, s_6, s_12} (d_2) | +| d_1 | {s_1, s_2, s_3, s_5, s_6, s_7, s_8, s_10, s_11, s_12} | d_1 | {s_1, s_2, s_3, s_4, s_5, s_9, s_11, s_6, s_12} (d_3) | +| d_2 | {s_1, s_2, s_3, s_4, s_5, s_11, s_6} | d_1 | d_2 | +| d_3 | {s_1, s_2, s_3, s_4, s_5, s_9, s_11, s_6, s_12} | d_1 | d_2 | + +#+attr_latex: :width 150px +[[./52b.excalidraw.png]] + +*** Minimization +| partition | 1 | 0 | +| {d_0, d_1, d_2, d_3} | {d_0, d_1, d_2, d_3} \Rightarrow {d_1, d_1, d_1, d_1} | {d_0, d_1, d_2, d_3} \Rightarrow {d_2, d_3, d_2, d_2} | + +#+attr_latex: :width 100px +[[./52c.excalidraw.png]] + +* Question Six +** a +*** DFA +#+attr_latex: :width 350px +[[./6a.excalidraw.png]] + +*** catMap +#+BEGIN_SRC json +{ + '-': 'sign', + '+': 'sign', + [0-9]: 'digit', + 'e': 'scntfc' +} +#+END_SRC + +*** transMap +#+BEGIN_SRC json +{ + 's0': { + 'sign': 's1', + 'digit': 's2', + }, + 's1': { + 'digit': 's2', + }, + 's2': { + 'digit': 's2', + 'scntfc': 's3', + }, + 's3': { + 'sign': 's4', + 'digit': 's5', + }, + 's4': { + 'digit': 's6', + }, + 's5': { + 'digit': 's6', + }, + 's6': { + 'digit': 's6', + }, +} +#+END_SRC + +*** tokenTypes +#+BEGIN_SRC json +{ + 's2': 'integer', + 's6': 'integer, +} +#+END_SRC +** b +*** DFA +#+attr_latex: :width 200px +[[./6b.excalidraw.png]] + +*** catMap +#+BEGIN_SRC json +{ + [a-zA-Z]: 'letter', + '_': 'letter', + [0-9]: 'digit', +} +#+END_SRC + +*** transMap +#+BEGIN_SRC json +{ + 's1': { + 'letter': 's2' + }, + 's2': { + 'letter': 's2', + 'digit': 's2', + }, +} +#+END_SRC + +** c +*** DFA +#+attr_latex: :width 400px +[[./6c.excalidraw.png]] + +*** catMap +#+BEGIN_SRC json +{ + [^(\n)*/]: 'nonc', + '\n': 'newline', + 'eof': 'eof', + '/': 'slash', + '*': 'star' +} +#+END_SRC +*** transMap +#+BEGIN_SRC json +{ + 's0': { + 'slash': 's1', + }, + 's1': { + 'slash': 's2', + 'star': 's4', + }, + 's2': { + 'nonc': 's2', + 'newline': 's3', + 'eof': 's3' + }, + 's4': { + 'nonc': 's4', + 'star': 's5', + }, + 's5': { + 'nonc': 's4', + 'newline': 's4', + 'slash': 's6' + } +} +#+END_SRC + +*** tokenType +#+BEGIN_SRC json +{ + 's3': 'singleLineComment', + 's6': 'multiLineComment', +} +#+END_SRC + diff --git a/Homework/cs5300/homework-four/compilers_assn_4.pdf b/Homework/cs5300/homework-four/compilers_assn_4.pdf new file mode 100644 index 0000000..44fc347 Binary files /dev/null and b/Homework/cs5300/homework-four/compilers_assn_4.pdf differ diff --git a/Homework/cs5300/homework-four/compilers_assn_4.tex b/Homework/cs5300/homework-four/compilers_assn_4.tex new file mode 100644 index 0000000..b1a2942 --- /dev/null +++ b/Homework/cs5300/homework-four/compilers_assn_4.tex @@ -0,0 +1,346 @@ +% Created 2023-02-13 Mon 21:13 +% Intended LaTeX compiler: pdflatex +\documentclass[11pt]{article} +\usepackage[utf8]{inputenc} +\usepackage[T1]{fontenc} +\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{amsmath} \usepackage[a4paper,margin=1in,landscape]{geometry} +\author{Lizzy Hunt} +\date{\today} +\title{Assignment Three} +\hypersetup{ + pdfauthor={Lizzy Hunt}, + pdftitle={Assignment Three}, + pdfkeywords={}, + pdfsubject={}, + pdfcreator={Emacs 28.2 (Org mode 9.6.1)}, + pdflang={English}} +\begin{document} + +\maketitle +\setlength\parindent{0pt} + +\section{Question One} +\label{sec:org48bca57} +\subsection{a} +\label{sec:orgede0650} +\begin{center} +\includegraphics[width=250px]{./1a.excalidraw.png} +\end{center} +\subsection{b} +\label{sec:org59deb20} +\begin{center} +\includegraphics[width=250px]{./1b.excalidraw.png} +\end{center} +\subsection{c} +\label{sec:orgfdb1a94} +\begin{center} +\includegraphics[width=250px]{./1c.excalidraw.png} +\end{center} +\subsection{d} +\label{sec:org48223e7} +\begin{center} +\includegraphics[width=250px]{./1d.excalidraw.png} +\end{center} +\subsection{e} +\label{sec:orga20ed32} +\begin{center} +\includegraphics[width=250px]{./1e.excalidraw.png} +\end{center} +\subsection{f} +\label{sec:org14bd212} +\begin{center} +\includegraphics[width=200px]{./1f.excalidraw.png} +\end{center} + +\section{Question Two} +\label{sec:org576a7f2} +\begin{center} +\begin{tabular}{rlll} +State & a & b & e\\[0pt] +0 & \(\phi\) & \(\phi\) & \{1, 3\}\\[0pt] +1 & \{2, 4\} & \{4\} & \(\phi\)\\[0pt] +2 & \{2\} & \(\phi\) & \(\phi\)\\[0pt] +3 & \(\phi\) & \{4\} & \(\phi\)\\[0pt] +4 & \(\phi\) & \{4\} & \(\phi\)\\[0pt] +\end{tabular} +\end{center} + +\section{Question Three} +\label{sec:org998bd71} +\begin{center} +\begin{tabular}{rrr} +State & a & b\\[0pt] +0 & 1 & 0\\[0pt] +1 & 1 & 2\\[0pt] +2 & 1 & 3\\[0pt] +3 & 1 & 0\\[0pt] +\end{tabular} +\end{center} + +\section{Question Four} +\label{sec:org7c30c40} +\subsection{a} +\label{sec:org487ab26} +\begin{center} +\includegraphics[width=350px]{./4a.excalidraw.png} +\end{center} +\subsection{b} +\label{sec:org41a1b03} +\begin{center} +\begin{tabular}{lllll} +DFA State & NFA States & a & b & c\\[0pt] +d\textsubscript{0} & \{s\textsubscript{0}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{5}, s\textsubscript{9}\} & \{s\textsubscript{3}, s\textsubscript{6}\} (d\textsubscript{1}) & s\textsubscript{e} & s\textsubscript{e}\\[0pt] +d\textsubscript{1} & \{s\textsubscript{3}, s\textsubscript{6}\} & s\textsubscript{e} & \{s\textsubscript{4}, s\textsubscript{8}, s\textsubscript{9}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{5}\} (d\textsubscript{2}) & \{s\textsubscript{7}, s\textsubscript{8}, s\textsubscript{9}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{5}\} (d\textsubscript{3})\\[0pt] +d\textsubscript{2} & \{s\textsubscript{4}, s\textsubscript{8}, s\textsubscript{9}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{5}\} & \{s\textsubscript{3}, s\textsubscript{6}\} (d\textsubscript{1}) & s\textsubscript{e} & s\textsubscript{e}\\[0pt] +d\textsubscript{3} & \{s\textsubscript{7}, s\textsubscript{8}, s\textsubscript{9}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{5}\} & \{s\textsubscript{3}, s\textsubscript{6}\} (d\textsubscript{1}) & s\textsubscript{e} & s\textsubscript{e}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=200px]{./4b.excalidraw.png} +\end{center} +\subsection{c} +\label{sec:orgf8b74f7} +\begin{center} +\begin{tabular}{llll} +partition & a & b & c\\[0pt] +\{d\textsubscript{1}\}, \{d\textsubscript{0}, d\textsubscript{2}, d\textsubscript{3}\} & \{d\textsubscript{0}, d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{d\textsubscript{1}, d\textsubscript{0}, d\textsubscript{0}\} & \{d\textsubscript{0}, d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{-, -, -\} & \{d\textsubscript{0}, d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{-, -, -\}\\[0pt] +\{d\textsubscript{1}\}, \{d\textsubscript{0}\}, \{d\textsubscript{2}, d\textsubscript{3}\} & \{d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{d\textsubscript{0}, d\textsubscript{0}\} & \{d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{-, -\} & \{d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{-, -\}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=200px]{./4c.excalidraw.png} +\end{center} + +\section{Question Five} +\label{sec:org8639475} +\subsection{regex 1} +\label{sec:org6ec41c1} +\subsubsection{NFA} +\label{sec:org4702761} +\begin{center} +\includegraphics[width=350px]{./51a.excalidraw.png} +\end{center} + +\subsubsection{DFA} +\label{sec:org1f48afb} +\begin{center} +\begin{tabular}{llll} +DFA State & NFA States & 1 & 0\\[0pt] +d\textsubscript{0} & \{s\textsubscript{0}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{4}, s\textsubscript{7}\} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{6}, s\textsubscript{7}\} (d\textsubscript{1}) & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{6}, s\textsubscript{7}\} (d\textsubscript{2})\\[0pt] +d\textsubscript{1} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{6}, s\textsubscript{7}\} & d\textsubscript{1} & d\textsubscript{2}\\[0pt] +d\textsubscript{2} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{6}, s\textsubscript{7}\} & d\textsubscript{1} & d\textsubscript{2}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=200px]{./51b.excalidraw.png} +\end{center} + +\subsubsection{Minimization} +\label{sec:orgbd13a9a} +\begin{center} +\begin{tabular}{lrr} +partition & 1 & 0\\[0pt] +\{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}\} & \{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}\} \(\Rightarrow\) \{d\textsubscript{1}, d\textsubscript{1}, d\textsubscript{1}\} & \{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}\} \(\Rightarrow\) \{d\textsubscript{2}, d\textsubscript{2}, d\textsubscript{2}\}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=75px]{./51c.excalidraw.png} +\end{center} + +\subsection{regex 2} +\label{sec:org65aa1cc} +\subsubsection{NFA} +\label{sec:org0a8dd3a} +\begin{center} +\includegraphics[width=350px]{./52a.excalidraw.png} +\end{center} +\subsubsection{DFA} +\label{sec:orgbf87fa0} +\begin{center} +\begin{tabular}{llll} +DFA State & NFA States & 1 & 0\\[0pt] +d\textsubscript{0} & \{s\textsubscript{0}, s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{5}, s\textsubscript{11}, s\textsubscript{6}, s\textsubscript{12} \} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{5}, s\textsubscript{6}, s\textsubscript{7}, s\textsubscript{8}, s\textsubscript{10}, s\textsubscript{11}, s\textsubscript{12}\} (d\textsubscript{1}) & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{11}, s\textsubscript{6}, s\textsubscript{12}\} (d\textsubscript{2})\\[0pt] +d\textsubscript{1} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{5}, s\textsubscript{6}, s\textsubscript{7}, s\textsubscript{8}, s\textsubscript{10}, s\textsubscript{11}, s\textsubscript{12}\} & d\textsubscript{1} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{9}, s\textsubscript{11}, s\textsubscript{6}, s\textsubscript{12}\} (d\textsubscript{3})\\[0pt] +d\textsubscript{2} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{11}, s\textsubscript{6}\} & d\textsubscript{1} & d\textsubscript{2}\\[0pt] +d\textsubscript{3} & \{s\textsubscript{1}, s\textsubscript{2}, s\textsubscript{3}, s\textsubscript{4}, s\textsubscript{5}, s\textsubscript{9}, s\textsubscript{11}, s\textsubscript{6}, s\textsubscript{12}\} & d\textsubscript{1} & d\textsubscript{2}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=150px]{./52b.excalidraw.png} +\end{center} + +\subsubsection{Minimization} +\label{sec:orgba6f5c6} +\begin{center} +\begin{tabular}{lrr} +partition & 1 & 0\\[0pt] +\{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}, d\textsubscript{3}\} & \{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{d\textsubscript{1}, d\textsubscript{1}, d\textsubscript{1}, d\textsubscript{1}\} & \{d\textsubscript{0}, d\textsubscript{1}, d\textsubscript{2}, d\textsubscript{3}\} \(\Rightarrow\) \{d\textsubscript{2}, d\textsubscript{3}, d\textsubscript{2}, d\textsubscript{2}\}\\[0pt] +\end{tabular} +\end{center} + +\begin{center} +\includegraphics[width=100px]{./52c.excalidraw.png} +\end{center} + +\section{Question Six} +\label{sec:org7b91bcb} +\subsection{a} +\label{sec:orgb412f3c} +\subsubsection{DFA} +\label{sec:org4ae1ae3} +\begin{center} +\includegraphics[width=350px]{./6a.excalidraw.png} +\end{center} + +\subsubsection{catMap} +\label{sec:org443dec8} +\begin{verbatim} +{ + '-': 'sign', + '+': 'sign', + [0-9]: 'digit', + 'e': 'scntfc' +} +\end{verbatim} + +\subsubsection{transMap} +\label{sec:org77c35dc} +\begin{verbatim} +{ + 's0': { + 'sign': 's1', + 'digit': 's2', + }, + 's1': { + 'digit': 's2', + }, + 's2': { + 'digit': 's2', + 'scntfc': 's3', + }, + 's3': { + 'sign': 's4', + 'digit': 's5', + }, + 's4': { + 'digit': 's6', + }, + 's5': { + 'digit': 's6', + }, + 's6': { + 'digit': 's6', + }, +} +\end{verbatim} + +\subsubsection{tokenTypes} +\label{sec:orgefb9ab0} +\begin{verbatim} +{ + 's2': 'integer', + 's6': 'integer, +} +\end{verbatim} +\subsection{b} +\label{sec:org6479f00} +\subsubsection{DFA} +\label{sec:org3c2c109} +\begin{center} +\includegraphics[width=200px]{./6b.excalidraw.png} +\end{center} + +\subsubsection{catMap} +\label{sec:org5fb6951} +\begin{verbatim} +{ + [a-zA-Z]: 'letter', + '_': 'letter', + [0-9]: 'digit', +} +\end{verbatim} + +\subsubsection{transMap} +\label{sec:org51968cd} +\begin{verbatim} +{ + 's1': { + 'letter': 's2' + }, + 's2': { + 'letter': 's2', + 'digit': 's2', + }, +} +\end{verbatim} + +\subsection{c} +\label{sec:orgaadecbc} +\subsubsection{DFA} +\label{sec:orgbc936b3} +\begin{center} +\includegraphics[width=400px]{./6c.excalidraw.png} +\end{center} + +\subsubsection{catMap} +\label{sec:org0f61017} +\begin{verbatim} +{ + [^(\n)*/]: 'nonc', + '\n': 'newline', + 'eof': 'eof', + '/': 'slash', + '*': 'star' +} +\end{verbatim} +\subsubsection{transMap} +\label{sec:orge8e62ef} +\begin{verbatim} +{ + 's0': { + 'slash': 's1', + }, + 's1': { + 'slash': 's2', + 'star': 's4', + }, + 's2': { + 'nonc': 's2', + 'newline': 's3', + 'eof': 's3' + }, + 's4': { + 'nonc': 's4', + 'star': 's5', + }, + 's5': { + 'nonc': 's4', + 'newline': 's4', + 'slash': 's6' + } +} +\end{verbatim} + +\subsubsection{tokenType} +\label{sec:orgb999994} +\begin{verbatim} +{ + 's3': 'singleLineComment', + 's6': 'multiLineComment', +} +\end{verbatim} +\end{document} \ No newline at end of file -- cgit v1.3