summaryrefslogtreecommitdiff
path: root/Homework/cs5300/project-two/data/pasca.table
diff options
context:
space:
mode:
Diffstat (limited to 'Homework/cs5300/project-two/data/pasca.table')
-rw-r--r--Homework/cs5300/project-two/data/pasca.table122
1 files changed, 122 insertions, 0 deletions
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