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/project-two/data/err1-pasca.txt | 1 + Homework/cs5300/project-two/data/err2-pasca.txt | 1 + Homework/cs5300/project-two/data/err3-pasca.txt | 1 + Homework/cs5300/project-two/data/pasca.table | 122 +++++++++++++++++++++++ Homework/cs5300/project-two/data/register.table | 33 ++++++ Homework/cs5300/project-two/data/test1-pasca.txt | 14 +++ Homework/cs5300/project-two/data/test2-pasca.txt | 1 + 7 files changed, 173 insertions(+) create mode 100644 Homework/cs5300/project-two/data/err1-pasca.txt create mode 100644 Homework/cs5300/project-two/data/err2-pasca.txt create mode 100644 Homework/cs5300/project-two/data/err3-pasca.txt create mode 100644 Homework/cs5300/project-two/data/pasca.table create mode 100644 Homework/cs5300/project-two/data/register.table create mode 100644 Homework/cs5300/project-two/data/test1-pasca.txt create mode 100644 Homework/cs5300/project-two/data/test2-pasca.txt (limited to 'Homework/cs5300/project-two/data') diff --git a/Homework/cs5300/project-two/data/err1-pasca.txt b/Homework/cs5300/project-two/data/err1-pasca.txt new file mode 100644 index 0000000..3316517 --- /dev/null +++ b/Homework/cs5300/project-two/data/err1-pasca.txt @@ -0,0 +1 @@ +(* a comment *) *) diff --git a/Homework/cs5300/project-two/data/err2-pasca.txt b/Homework/cs5300/project-two/data/err2-pasca.txt new file mode 100644 index 0000000..ba3383f --- /dev/null +++ b/Homework/cs5300/project-two/data/err2-pasca.txt @@ -0,0 +1 @@ +(* a comment diff --git a/Homework/cs5300/project-two/data/err3-pasca.txt b/Homework/cs5300/project-two/data/err3-pasca.txt new file mode 100644 index 0000000..40381e2 --- /dev/null +++ b/Homework/cs5300/project-two/data/err3-pasca.txt @@ -0,0 +1 @@ +0123 diff --git a/Homework/cs5300/project-two/data/pasca.table b/Homework/cs5300/project-two/data/pasca.table new file mode 100644 index 0000000..e3a5733 --- /dev/null +++ b/Homework/cs5300/project-two/data/pasca.table @@ -0,0 +1,122 @@ +// Modify this file to create your tables for the Pasca language. + +// Special tokens are \space, \t and \n. +ClassifierTable +a letter +b letter +c letter +d letter +e letter +f letter +g letter +h letter +i letter +j letter +k letter +l letter +m letter +n letter +o letter +p letter +q letter +r letter +s letter +t letter +u letter +v letter +w letter +x letter +y letter +z letter +0 zero +1 nonzero +2 nonzero +3 nonzero +4 nonzero +5 nonzero +6 nonzero +7 nonzero +8 nonzero +9 nonzero +' quote +* asterisk +{ delim +} delim +; delim +. delim +( lp +) rp +\space whitespace +\t whitespace +\n whitespace + + +// In the transition table, the first state +// is considered the input state. +TransitionTable +// Identifiers +s0 letter id +id letter id +id zero id +id nonzero id + +// Integers +s0 nonzero int +int zero int +int nonzero int + +// Strings +s0 quote q1 +q1 quote str +str quote q1 +// Everything besides quotes +q1 zero q1 +q1 nonzero q1 +q1 letter q1 +q1 delim q1 +q1 asterisk q1 +q1 lp q1 +q1 rp q1 +q1 whitespace q1 + +// Delimiters +s0 delim delimiter + +// Comments +s0 lp c1 +c1 asterisk c2 +c2 asterisk c3 +c3 asterisk c3 +c3 rp ignore + +c3 zero c2 +c3 nonzero c2 +c3 letter c2 +c3 delim c2 +c3 lp c2 +c3 quote c2 +c3 whitespace c2 + +c2 zero c2 +c2 nonzero c2 +c2 letter c2 +c2 delim c2 +c2 rp c2 +c2 lp c2 +c2 whitespace c2 + +// whitespace +s0 whitespace s1 +s1 whitespace s1 + +// If a state has an entry in this table then +// it is considered an accept state. +// "ignore" is a reserved type which indicates +// that the token should be ignored. +TokenTypeTable +id identifier +int integer +str string +delimiter delimiter +ignore ignore +s1 ignore diff --git a/Homework/cs5300/project-two/data/register.table b/Homework/cs5300/project-two/data/register.table new file mode 100644 index 0000000..f22b15e --- /dev/null +++ b/Homework/cs5300/project-two/data/register.table @@ -0,0 +1,33 @@ +// Special tokens are \space, \t and \n. +ClassifierTable +r register +0 digit +1 digit +2 digit +3 digit +4 digit +5 digit +6 digit +7 digit +8 digit +9 digit +\space whitespace +\t whitespace +\n whitespace + +// In the transition table, the first state +// is considered the input state. +TransitionTable +s0 register s1 +s1 digit s2 +s2 digit s2 +s0 whitespace s3 +s3 whitespace s3 + +// If a state has an entry in this table then +// it is considered an accept state. +// "ignore" is a reserved type which indicates +// that the token should be ignored. +TokenTypeTable +s2 register +s3 ignore \ No newline at end of file diff --git a/Homework/cs5300/project-two/data/test1-pasca.txt b/Homework/cs5300/project-two/data/test1-pasca.txt new file mode 100644 index 0000000..060b972 --- /dev/null +++ b/Homework/cs5300/project-two/data/test1-pasca.txt @@ -0,0 +1,14 @@ +begin +(**) +(* a straightforward comment *) +(** a crazy com*ment02 {}() ****) +program a1 { + var0 is 8; + (* some crazy identifier names *) + var1 var2 variable var1able +} +(* some integers *) +123 1203 +' a crazy string abc(){}*''4013' +end. + diff --git a/Homework/cs5300/project-two/data/test2-pasca.txt b/Homework/cs5300/project-two/data/test2-pasca.txt new file mode 100644 index 0000000..247411a --- /dev/null +++ b/Homework/cs5300/project-two/data/test2-pasca.txt @@ -0,0 +1 @@ +'alks dfl;alsk k''jk{}' -- cgit v1.3