summaryrefslogtreecommitdiff
path: root/Homework/cs5300/project-three/out
diff options
context:
space:
mode:
Diffstat (limited to 'Homework/cs5300/project-three/out')
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/antlr-4.9.1-complete.jarbin0 -> 2100605 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/Grammar.classbin0 -> 2902 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarBaseListener.classbin0 -> 3509 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarLexer.classbin0 -> 4786 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListener.classbin0 -> 1459 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListenerImpl.classbin0 -> 2645 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$GoalContext.classbin0 -> 1736 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$LhsContext.classbin0 -> 1260 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$NameContext.classbin0 -> 1266 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Or_listContext.classbin0 -> 1487 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$RhsContext.classbin0 -> 1373 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Rule_listContext.classbin0 -> 1869 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$SymbolContext.classbin0 -> 1279 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Symbol_listContext.classbin0 -> 1532 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser.classbin0 -> 9618 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/Expr.cfg25
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/ExprLexer.tokens39
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/Paren.cfg17
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/ParenLexer.tokens19
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/Simple.cfg13
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/SimpleLexer.tokens15
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/Tiny.cfg19
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/TinyLexer.tokens41
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr1.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr2.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr3.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr4.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr5.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/expr6.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/paren0.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/paren1.dat3
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/paren2.dat3
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/paren3.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/paren4.dat1
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/tiny1.dat3
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/tiny2.dat7
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/tiny3.dat4
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/tiny4.dat4
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/data/tinyGrammar.pdfbin0 -> 83316 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.classbin0 -> 5198 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.interp52
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.tokens17
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.classbin0 -> 3982 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.interp26
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.tokens5
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.classbin0 -> 3890 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.interp23
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.tokens3
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.classbin0 -> 6203 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.interp79
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.tokens36
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/p3-parser.iml12
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Action$Act.classbin0 -> 1018 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Action.classbin0 -> 1927 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Grammar.classbin0 -> 4671 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Item.classbin0 -> 3359 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Main.classbin0 -> 12149 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Parser.classbin0 -> 4884 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/ParserException.classbin0 -> 2027 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Rule.classbin0 -> 2203 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/State.classbin0 -> 2281 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/States.classbin0 -> 950 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Tests.classbin0 -> 2150 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/Util.classbin0 -> 5297 bytes
-rw-r--r--Homework/cs5300/project-three/out/production/p3-parser/parser/util/SymbolComparator.classbin0 -> 1181 bytes
65 files changed, 474 insertions, 0 deletions
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/antlr-4.9.1-complete.jar b/Homework/cs5300/project-three/out/production/p3-parser/antlr-4.9.1-complete.jar
new file mode 100644
index 0000000..1bb7e8c
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/antlr-4.9.1-complete.jar
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/Grammar.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/Grammar.class
new file mode 100644
index 0000000..34912da
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/Grammar.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarBaseListener.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarBaseListener.class
new file mode 100644
index 0000000..b3e115e
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarBaseListener.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarLexer.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarLexer.class
new file mode 100644
index 0000000..9fc843f
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarLexer.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListener.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListener.class
new file mode 100644
index 0000000..fa64aeb
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListener.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListenerImpl.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListenerImpl.class
new file mode 100644
index 0000000..2b52242
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarListenerImpl.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$GoalContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$GoalContext.class
new file mode 100644
index 0000000..25e5c2e
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$GoalContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$LhsContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$LhsContext.class
new file mode 100644
index 0000000..c5580c2
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$LhsContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$NameContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$NameContext.class
new file mode 100644
index 0000000..32cd8ee
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$NameContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Or_listContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Or_listContext.class
new file mode 100644
index 0000000..82b869a
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Or_listContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$RhsContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$RhsContext.class
new file mode 100644
index 0000000..90dd7d3
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$RhsContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Rule_listContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Rule_listContext.class
new file mode 100644
index 0000000..7501d1f
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Rule_listContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$SymbolContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$SymbolContext.class
new file mode 100644
index 0000000..ed3da97
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$SymbolContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Symbol_listContext.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Symbol_listContext.class
new file mode 100644
index 0000000..34d9e0c
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser$Symbol_listContext.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser.class b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser.class
new file mode 100644
index 0000000..6f2d6ae
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/cfgparser/GrammarParser.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/Expr.cfg b/Homework/cs5300/project-three/out/production/p3-parser/data/Expr.cfg
new file mode 100644
index 0000000..7493e3e
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/Expr.cfg
@@ -0,0 +1,25 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file contains an expression grammar that uses tokens described in
+// ExprLexer.tokens.
+
+grammar Expr;
+
+goal: expr;
+
+expr: expr PLUS term
+ | expr MINUS term
+ | term
+ ;
+
+term : term MULTIPLY factor
+ | term DIVIDE factor
+ | factor
+ ;
+
+factor: OPAREN expr CPAREN
+ | INT
+ | FLOAT
+ | IDENTIFIER
+ ; \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/ExprLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/data/ExprLexer.tokens
new file mode 100644
index 0000000..ccb798a
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/ExprLexer.tokens
@@ -0,0 +1,39 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file describes the tokens that will be available to the parser
+// that uses the grammar described in Expr.cfg.
+
+lexer grammar ExprLexer;
+
+PLUS: '+' ;
+MINUS: '-' ;
+MULTIPLY: '*' ;
+DIVIDE: '/' ;
+OPAREN: '(' ;
+CPAREN: ')' ;
+
+FLOAT
+ : DIGIT+ '.' DIGIT+
+ ;
+
+INT
+ : DIGIT+
+ ;
+
+IDENTIFIER
+ : LETTER (LETTER | DIGIT)*
+ ;
+
+COMMENT
+ : ( '//' ~[\r\n]* '\r'? '\n'
+ | '/*' .*? '*/'
+ ) -> skip
+ ;
+
+WS
+ : (' ' | '\t' | '\n' | '\r' | '\f')+ -> skip
+ ;
+
+fragment LETTER : ('a'..'z' | 'A'..'Z');
+fragment DIGIT : ('0'..'9'); \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/Paren.cfg b/Homework/cs5300/project-three/out/production/p3-parser/data/Paren.cfg
new file mode 100644
index 0000000..184b11c
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/Paren.cfg
@@ -0,0 +1,17 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file contains an expression grammar that uses tokens described in
+// ParenLexer.tokens.
+
+grammar Paren;
+
+goal: list;
+
+list: list pair
+ | pair
+ ;
+
+pair: OPAREN list CPAREN
+ | OPAREN CPAREN
+ ;
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/ParenLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/data/ParenLexer.tokens
new file mode 100644
index 0000000..51e5258
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/ParenLexer.tokens
@@ -0,0 +1,19 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file describes the tokens that will be available to the parser
+// that uses the grammar described in Paren.cfg.
+
+lexer grammar ParenLexer;
+
+OPAREN
+ : '('
+ ;
+
+CPAREN
+ : ')'
+ ;
+
+WS
+ : (' ' | '\t' | '\n' | '\r' | '\f')+ -> skip
+ ;
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/Simple.cfg b/Homework/cs5300/project-three/out/production/p3-parser/data/Simple.cfg
new file mode 100644
index 0000000..80c1e18
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/Simple.cfg
@@ -0,0 +1,13 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file contains an expression grammar that uses tokens described in
+// ParenLexer.tokens.
+
+grammar Simple;
+
+G: N;
+
+N: N X
+ | X
+ ;
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/SimpleLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/data/SimpleLexer.tokens
new file mode 100644
index 0000000..64ec3c1
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/SimpleLexer.tokens
@@ -0,0 +1,15 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file describes the tokens that will be available to the parser
+// that uses the grammar described in Simple.cfg.
+
+lexer grammar SimpleLexer;
+
+X
+ : 'x'
+ ;
+
+WS
+ : (' ' | '\t' | '\n' | '\r' | '\f')+ -> skip
+ ;
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/Tiny.cfg b/Homework/cs5300/project-three/out/production/p3-parser/data/Tiny.cfg
new file mode 100644
index 0000000..a7a28a3
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/Tiny.cfg
@@ -0,0 +1,19 @@
+//
+// WRITE A CORRECT GRAMMAR FOR THE TINY LANGUAGE IN THIS FILE.
+//
+// The grammar is described in data/tinyGrammar.pdf. Do not use dashes
+// in your non-terminal names. I recommend you use mixed case naming for your
+// non-terminals instead (e.g. stmtSeq).
+//
+// Do not put any string literals in this grammar (e.g. "="). Use only token
+// names given in TinyLexer.tokens.
+//
+// This file contains an expression grammar that uses tokens described in
+// TinyLexer.tokens.
+//
+// NOTE ONE ERROR in the pdf: the second production rule should read:
+// stmt-seq -> stmt-seq stmt | stmt
+
+grammar Tiny;
+
+goal: program;
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/TinyLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/data/TinyLexer.tokens
new file mode 100644
index 0000000..ad6b2a7
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/TinyLexer.tokens
@@ -0,0 +1,41 @@
+//
+// DO NOT MODIFY THIS FILE.
+//
+// This file describes the tokens that will be available to the parser
+// that uses the grammar described in Tiny.cfg.
+
+lexer grammar TinyLexer;
+
+IF : 'if' ;
+THEN : 'then' ;
+ELSE : 'else' ;
+END : 'end' ;
+REPEAT : 'repeat' ;
+UNTIL : 'until' ;
+READ : 'read' ;
+WRITE : 'write' ;
+OPAREN : '(' ;
+CPAREN : ')' ;
+
+PLUS: '+' ;
+MINUS: '-' ;
+MULTIPLY: '*' ;
+DIVIDE: '/' ;
+LT: '<' ;
+EQUAL: '=' ;
+
+NUM : DIGIT+ ;
+ID : LETTER+ ;
+
+COMMENT
+ : ( '//' ~[\r\n]* '\r'? '\n'
+ | '/*' .*? '*/'
+ ) -> skip
+ ;
+
+WS
+ : (' ' | '\t' | '\n' | '\r' | '\f')+ -> skip
+ ;
+
+fragment LETTER : ('a'..'z' | 'A'..'Z');
+fragment DIGIT : ('0'..'9'); \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr1.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr1.dat
new file mode 100644
index 0000000..846e7d3
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr1.dat
@@ -0,0 +1 @@
+3 + 4 * 5 / 8 \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr2.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr2.dat
new file mode 100644
index 0000000..8e0c0b7
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr2.dat
@@ -0,0 +1 @@
+3 + + 42 * 34 \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr3.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr3.dat
new file mode 100644
index 0000000..00750ed
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr3.dat
@@ -0,0 +1 @@
+3
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr4.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr4.dat
new file mode 100644
index 0000000..84a357a
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr4.dat
@@ -0,0 +1 @@
+(a + b) * ((c-def)/43) \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr5.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr5.dat
new file mode 100644
index 0000000..c2c433b
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr5.dat
@@ -0,0 +1 @@
+(a + b) * ((c-d)/43
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/expr6.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/expr6.dat
new file mode 100644
index 0000000..f46d387
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/expr6.dat
@@ -0,0 +1 @@
+( \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/paren0.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/paren0.dat
new file mode 100644
index 0000000..dd626a0
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/paren0.dat
@@ -0,0 +1 @@
+() \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/paren1.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/paren1.dat
new file mode 100644
index 0000000..f7e9493
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/paren1.dat
@@ -0,0 +1,3 @@
+((
+))(
+)(((()))()(())) \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/paren2.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/paren2.dat
new file mode 100644
index 0000000..4f879eb
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/paren2.dat
@@ -0,0 +1,3 @@
+(
+))(
+) \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/paren3.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/paren3.dat
new file mode 100644
index 0000000..e4a2fe8
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/paren3.dat
@@ -0,0 +1 @@
+)()(
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/paren4.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/paren4.dat
new file mode 100644
index 0000000..3077d74
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/paren4.dat
@@ -0,0 +1 @@
+()()(()())
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/tiny1.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny1.dat
new file mode 100644
index 0000000..7f9078f
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny1.dat
@@ -0,0 +1,3 @@
+a = 3
+b = 4
+c = a + b
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/tiny2.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny2.dat
new file mode 100644
index 0000000..09195b8
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny2.dat
@@ -0,0 +1,7 @@
+a = 3
+b = 4
+if a = b then
+ write (a + b * (c - d))
+else
+ write a
+end \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/tiny3.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny3.dat
new file mode 100644
index 0000000..768addd
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny3.dat
@@ -0,0 +1,4 @@
+a = 3
+if a = then
+ write a
+end \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/tiny4.dat b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny4.dat
new file mode 100644
index 0000000..1d66283
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/tiny4.dat
@@ -0,0 +1,4 @@
+a = 3
+if (a = b) then
+ write a = 3)
+end \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/data/tinyGrammar.pdf b/Homework/cs5300/project-three/out/production/p3-parser/data/tinyGrammar.pdf
new file mode 100644
index 0000000..855d45b
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/data/tinyGrammar.pdf
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.class b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.class
new file mode 100644
index 0000000..34e7d89
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.interp b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.interp
new file mode 100644
index 0000000..c9ec8c0
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.interp
@@ -0,0 +1,52 @@
+token literal names:
+null
+'+'
+'-'
+'*'
+'/'
+'('
+')'
+null
+null
+null
+null
+null
+
+token symbolic names:
+null
+PLUS
+MINUS
+MULTIPLY
+DIVIDE
+OPAREN
+CPAREN
+FLOAT
+INT
+IDENTIFIER
+COMMENT
+WS
+
+rule names:
+PLUS
+MINUS
+MULTIPLY
+DIVIDE
+OPAREN
+CPAREN
+FLOAT
+INT
+IDENTIFIER
+COMMENT
+WS
+LETTER
+DIGIT
+
+channel names:
+DEFAULT_TOKEN_CHANNEL
+HIDDEN
+
+mode names:
+DEFAULT_MODE
+
+atn:
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 13, 104, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 3, 4, 3, 5, 3, 5, 3, 6, 3, 6, 3, 7, 3, 7, 3, 8, 6, 8, 43, 10, 8, 13, 8, 14, 8, 44, 3, 8, 3, 8, 6, 8, 49, 10, 8, 13, 8, 14, 8, 50, 3, 9, 6, 9, 54, 10, 9, 13, 9, 14, 9, 55, 3, 10, 3, 10, 3, 10, 7, 10, 61, 10, 10, 12, 10, 14, 10, 64, 11, 10, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 70, 10, 11, 12, 11, 14, 11, 73, 11, 11, 3, 11, 5, 11, 76, 10, 11, 3, 11, 3, 11, 3, 11, 3, 11, 3, 11, 7, 11, 83, 10, 11, 12, 11, 14, 11, 86, 11, 11, 3, 11, 3, 11, 5, 11, 90, 10, 11, 3, 11, 3, 11, 3, 12, 6, 12, 95, 10, 12, 13, 12, 14, 12, 96, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 84, 2, 15, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 2, 27, 2, 3, 2, 5, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 14, 15, 34, 34, 4, 2, 67, 92, 99, 124, 2, 111, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 3, 29, 3, 2, 2, 2, 5, 31, 3, 2, 2, 2, 7, 33, 3, 2, 2, 2, 9, 35, 3, 2, 2, 2, 11, 37, 3, 2, 2, 2, 13, 39, 3, 2, 2, 2, 15, 42, 3, 2, 2, 2, 17, 53, 3, 2, 2, 2, 19, 57, 3, 2, 2, 2, 21, 89, 3, 2, 2, 2, 23, 94, 3, 2, 2, 2, 25, 100, 3, 2, 2, 2, 27, 102, 3, 2, 2, 2, 29, 30, 7, 45, 2, 2, 30, 4, 3, 2, 2, 2, 31, 32, 7, 47, 2, 2, 32, 6, 3, 2, 2, 2, 33, 34, 7, 44, 2, 2, 34, 8, 3, 2, 2, 2, 35, 36, 7, 49, 2, 2, 36, 10, 3, 2, 2, 2, 37, 38, 7, 42, 2, 2, 38, 12, 3, 2, 2, 2, 39, 40, 7, 43, 2, 2, 40, 14, 3, 2, 2, 2, 41, 43, 5, 27, 14, 2, 42, 41, 3, 2, 2, 2, 43, 44, 3, 2, 2, 2, 44, 42, 3, 2, 2, 2, 44, 45, 3, 2, 2, 2, 45, 46, 3, 2, 2, 2, 46, 48, 7, 48, 2, 2, 47, 49, 5, 27, 14, 2, 48, 47, 3, 2, 2, 2, 49, 50, 3, 2, 2, 2, 50, 48, 3, 2, 2, 2, 50, 51, 3, 2, 2, 2, 51, 16, 3, 2, 2, 2, 52, 54, 5, 27, 14, 2, 53, 52, 3, 2, 2, 2, 54, 55, 3, 2, 2, 2, 55, 53, 3, 2, 2, 2, 55, 56, 3, 2, 2, 2, 56, 18, 3, 2, 2, 2, 57, 62, 5, 25, 13, 2, 58, 61, 5, 25, 13, 2, 59, 61, 5, 27, 14, 2, 60, 58, 3, 2, 2, 2, 60, 59, 3, 2, 2, 2, 61, 64, 3, 2, 2, 2, 62, 60, 3, 2, 2, 2, 62, 63, 3, 2, 2, 2, 63, 20, 3, 2, 2, 2, 64, 62, 3, 2, 2, 2, 65, 66, 7, 49, 2, 2, 66, 67, 7, 49, 2, 2, 67, 71, 3, 2, 2, 2, 68, 70, 10, 2, 2, 2, 69, 68, 3, 2, 2, 2, 70, 73, 3, 2, 2, 2, 71, 69, 3, 2, 2, 2, 71, 72, 3, 2, 2, 2, 72, 75, 3, 2, 2, 2, 73, 71, 3, 2, 2, 2, 74, 76, 7, 15, 2, 2, 75, 74, 3, 2, 2, 2, 75, 76, 3, 2, 2, 2, 76, 77, 3, 2, 2, 2, 77, 90, 7, 12, 2, 2, 78, 79, 7, 49, 2, 2, 79, 80, 7, 44, 2, 2, 80, 84, 3, 2, 2, 2, 81, 83, 11, 2, 2, 2, 82, 81, 3, 2, 2, 2, 83, 86, 3, 2, 2, 2, 84, 85, 3, 2, 2, 2, 84, 82, 3, 2, 2, 2, 85, 87, 3, 2, 2, 2, 86, 84, 3, 2, 2, 2, 87, 88, 7, 44, 2, 2, 88, 90, 7, 49, 2, 2, 89, 65, 3, 2, 2, 2, 89, 78, 3, 2, 2, 2, 90, 91, 3, 2, 2, 2, 91, 92, 8, 11, 2, 2, 92, 22, 3, 2, 2, 2, 93, 95, 9, 3, 2, 2, 94, 93, 3, 2, 2, 2, 95, 96, 3, 2, 2, 2, 96, 94, 3, 2, 2, 2, 96, 97, 3, 2, 2, 2, 97, 98, 3, 2, 2, 2, 98, 99, 8, 12, 2, 2, 99, 24, 3, 2, 2, 2, 100, 101, 9, 4, 2, 2, 101, 26, 3, 2, 2, 2, 102, 103, 4, 50, 59, 2, 103, 28, 3, 2, 2, 2, 13, 2, 44, 50, 55, 60, 62, 71, 75, 84, 89, 96, 3, 8, 2, 2] \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.tokens
new file mode 100644
index 0000000..295e180
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ExprLexer.tokens
@@ -0,0 +1,17 @@
+PLUS=1
+MINUS=2
+MULTIPLY=3
+DIVIDE=4
+OPAREN=5
+CPAREN=6
+FLOAT=7
+INT=8
+IDENTIFIER=9
+COMMENT=10
+WS=11
+'+'=1
+'-'=2
+'*'=3
+'/'=4
+'('=5
+')'=6
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.class b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.class
new file mode 100644
index 0000000..f499161
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.interp b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.interp
new file mode 100644
index 0000000..d973cba
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.interp
@@ -0,0 +1,26 @@
+token literal names:
+null
+'('
+')'
+null
+
+token symbolic names:
+null
+OPAREN
+CPAREN
+WS
+
+rule names:
+OPAREN
+CPAREN
+WS
+
+channel names:
+DEFAULT_TOKEN_CHANNEL
+HIDDEN
+
+mode names:
+DEFAULT_MODE
+
+atn:
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 5, 20, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 3, 2, 3, 2, 3, 3, 3, 3, 3, 4, 6, 4, 15, 10, 4, 13, 4, 14, 4, 16, 3, 4, 3, 4, 2, 2, 5, 3, 3, 5, 4, 7, 5, 3, 2, 3, 5, 2, 11, 12, 14, 15, 34, 34, 2, 20, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 3, 9, 3, 2, 2, 2, 5, 11, 3, 2, 2, 2, 7, 14, 3, 2, 2, 2, 9, 10, 7, 42, 2, 2, 10, 4, 3, 2, 2, 2, 11, 12, 7, 43, 2, 2, 12, 6, 3, 2, 2, 2, 13, 15, 9, 2, 2, 2, 14, 13, 3, 2, 2, 2, 15, 16, 3, 2, 2, 2, 16, 14, 3, 2, 2, 2, 16, 17, 3, 2, 2, 2, 17, 18, 3, 2, 2, 2, 18, 19, 8, 4, 2, 2, 19, 8, 3, 2, 2, 2, 4, 2, 16, 3, 8, 2, 2] \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.tokens
new file mode 100644
index 0000000..a29ddff
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/ParenLexer.tokens
@@ -0,0 +1,5 @@
+OPAREN=1
+CPAREN=2
+WS=3
+'('=1
+')'=2
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.class b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.class
new file mode 100644
index 0000000..d9ec81d
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.interp b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.interp
new file mode 100644
index 0000000..8d4c41c
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.interp
@@ -0,0 +1,23 @@
+token literal names:
+null
+'x'
+null
+
+token symbolic names:
+null
+X
+WS
+
+rule names:
+X
+WS
+
+channel names:
+DEFAULT_TOKEN_CHANNEL
+HIDDEN
+
+mode names:
+DEFAULT_MODE
+
+atn:
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 4, 16, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 3, 2, 3, 2, 3, 3, 6, 3, 11, 10, 3, 13, 3, 14, 3, 12, 3, 3, 3, 3, 2, 2, 4, 3, 3, 5, 4, 3, 2, 3, 5, 2, 11, 12, 14, 15, 34, 34, 2, 16, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 3, 7, 3, 2, 2, 2, 5, 10, 3, 2, 2, 2, 7, 8, 7, 122, 2, 2, 8, 4, 3, 2, 2, 2, 9, 11, 9, 2, 2, 2, 10, 9, 3, 2, 2, 2, 11, 12, 3, 2, 2, 2, 12, 10, 3, 2, 2, 2, 12, 13, 3, 2, 2, 2, 13, 14, 3, 2, 2, 2, 14, 15, 8, 3, 2, 2, 15, 6, 3, 2, 2, 2, 4, 2, 12, 3, 8, 2, 2] \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.tokens
new file mode 100644
index 0000000..dc07319
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/SimpleLexer.tokens
@@ -0,0 +1,3 @@
+X=1
+WS=2
+'x'=1
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.class b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.class
new file mode 100644
index 0000000..ce45364
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.interp b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.interp
new file mode 100644
index 0000000..a2db21e
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.interp
@@ -0,0 +1,79 @@
+token literal names:
+null
+'if'
+'then'
+'else'
+'end'
+'repeat'
+'until'
+'read'
+'write'
+'('
+')'
+'+'
+'-'
+'*'
+'/'
+'<'
+'='
+null
+null
+null
+null
+
+token symbolic names:
+null
+IF
+THEN
+ELSE
+END
+REPEAT
+UNTIL
+READ
+WRITE
+OPAREN
+CPAREN
+PLUS
+MINUS
+MULTIPLY
+DIVIDE
+LT
+EQUAL
+NUM
+ID
+COMMENT
+WS
+
+rule names:
+IF
+THEN
+ELSE
+END
+REPEAT
+UNTIL
+READ
+WRITE
+OPAREN
+CPAREN
+PLUS
+MINUS
+MULTIPLY
+DIVIDE
+LT
+EQUAL
+NUM
+ID
+COMMENT
+WS
+LETTER
+DIGIT
+
+channel names:
+DEFAULT_TOKEN_CHANNEL
+HIDDEN
+
+mode names:
+DEFAULT_MODE
+
+atn:
+[3, 24715, 42794, 33075, 47597, 16764, 15335, 30598, 22884, 2, 22, 153, 8, 1, 4, 2, 9, 2, 4, 3, 9, 3, 4, 4, 9, 4, 4, 5, 9, 5, 4, 6, 9, 6, 4, 7, 9, 7, 4, 8, 9, 8, 4, 9, 9, 9, 4, 10, 9, 10, 4, 11, 9, 11, 4, 12, 9, 12, 4, 13, 9, 13, 4, 14, 9, 14, 4, 15, 9, 15, 4, 16, 9, 16, 4, 17, 9, 17, 4, 18, 9, 18, 4, 19, 9, 19, 4, 20, 9, 20, 4, 21, 9, 21, 4, 22, 9, 22, 4, 23, 9, 23, 3, 2, 3, 2, 3, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 3, 4, 3, 4, 3, 4, 3, 4, 3, 5, 3, 5, 3, 5, 3, 5, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 6, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 7, 3, 8, 3, 8, 3, 8, 3, 8, 3, 8, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 9, 3, 10, 3, 10, 3, 11, 3, 11, 3, 12, 3, 12, 3, 13, 3, 13, 3, 14, 3, 14, 3, 15, 3, 15, 3, 16, 3, 16, 3, 17, 3, 17, 3, 18, 6, 18, 106, 10, 18, 13, 18, 14, 18, 107, 3, 19, 6, 19, 111, 10, 19, 13, 19, 14, 19, 112, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 119, 10, 20, 12, 20, 14, 20, 122, 11, 20, 3, 20, 5, 20, 125, 10, 20, 3, 20, 3, 20, 3, 20, 3, 20, 3, 20, 7, 20, 132, 10, 20, 12, 20, 14, 20, 135, 11, 20, 3, 20, 3, 20, 5, 20, 139, 10, 20, 3, 20, 3, 20, 3, 21, 6, 21, 144, 10, 21, 13, 21, 14, 21, 145, 3, 21, 3, 21, 3, 22, 3, 22, 3, 23, 3, 23, 3, 133, 2, 24, 3, 3, 5, 4, 7, 5, 9, 6, 11, 7, 13, 8, 15, 9, 17, 10, 19, 11, 21, 12, 23, 13, 25, 14, 27, 15, 29, 16, 31, 17, 33, 18, 35, 19, 37, 20, 39, 21, 41, 22, 43, 2, 45, 2, 3, 2, 5, 4, 2, 12, 12, 15, 15, 5, 2, 11, 12, 14, 15, 34, 34, 4, 2, 67, 92, 99, 124, 2, 157, 2, 3, 3, 2, 2, 2, 2, 5, 3, 2, 2, 2, 2, 7, 3, 2, 2, 2, 2, 9, 3, 2, 2, 2, 2, 11, 3, 2, 2, 2, 2, 13, 3, 2, 2, 2, 2, 15, 3, 2, 2, 2, 2, 17, 3, 2, 2, 2, 2, 19, 3, 2, 2, 2, 2, 21, 3, 2, 2, 2, 2, 23, 3, 2, 2, 2, 2, 25, 3, 2, 2, 2, 2, 27, 3, 2, 2, 2, 2, 29, 3, 2, 2, 2, 2, 31, 3, 2, 2, 2, 2, 33, 3, 2, 2, 2, 2, 35, 3, 2, 2, 2, 2, 37, 3, 2, 2, 2, 2, 39, 3, 2, 2, 2, 2, 41, 3, 2, 2, 2, 3, 47, 3, 2, 2, 2, 5, 50, 3, 2, 2, 2, 7, 55, 3, 2, 2, 2, 9, 60, 3, 2, 2, 2, 11, 64, 3, 2, 2, 2, 13, 71, 3, 2, 2, 2, 15, 77, 3, 2, 2, 2, 17, 82, 3, 2, 2, 2, 19, 88, 3, 2, 2, 2, 21, 90, 3, 2, 2, 2, 23, 92, 3, 2, 2, 2, 25, 94, 3, 2, 2, 2, 27, 96, 3, 2, 2, 2, 29, 98, 3, 2, 2, 2, 31, 100, 3, 2, 2, 2, 33, 102, 3, 2, 2, 2, 35, 105, 3, 2, 2, 2, 37, 110, 3, 2, 2, 2, 39, 138, 3, 2, 2, 2, 41, 143, 3, 2, 2, 2, 43, 149, 3, 2, 2, 2, 45, 151, 3, 2, 2, 2, 47, 48, 7, 107, 2, 2, 48, 49, 7, 104, 2, 2, 49, 4, 3, 2, 2, 2, 50, 51, 7, 118, 2, 2, 51, 52, 7, 106, 2, 2, 52, 53, 7, 103, 2, 2, 53, 54, 7, 112, 2, 2, 54, 6, 3, 2, 2, 2, 55, 56, 7, 103, 2, 2, 56, 57, 7, 110, 2, 2, 57, 58, 7, 117, 2, 2, 58, 59, 7, 103, 2, 2, 59, 8, 3, 2, 2, 2, 60, 61, 7, 103, 2, 2, 61, 62, 7, 112, 2, 2, 62, 63, 7, 102, 2, 2, 63, 10, 3, 2, 2, 2, 64, 65, 7, 116, 2, 2, 65, 66, 7, 103, 2, 2, 66, 67, 7, 114, 2, 2, 67, 68, 7, 103, 2, 2, 68, 69, 7, 99, 2, 2, 69, 70, 7, 118, 2, 2, 70, 12, 3, 2, 2, 2, 71, 72, 7, 119, 2, 2, 72, 73, 7, 112, 2, 2, 73, 74, 7, 118, 2, 2, 74, 75, 7, 107, 2, 2, 75, 76, 7, 110, 2, 2, 76, 14, 3, 2, 2, 2, 77, 78, 7, 116, 2, 2, 78, 79, 7, 103, 2, 2, 79, 80, 7, 99, 2, 2, 80, 81, 7, 102, 2, 2, 81, 16, 3, 2, 2, 2, 82, 83, 7, 121, 2, 2, 83, 84, 7, 116, 2, 2, 84, 85, 7, 107, 2, 2, 85, 86, 7, 118, 2, 2, 86, 87, 7, 103, 2, 2, 87, 18, 3, 2, 2, 2, 88, 89, 7, 42, 2, 2, 89, 20, 3, 2, 2, 2, 90, 91, 7, 43, 2, 2, 91, 22, 3, 2, 2, 2, 92, 93, 7, 45, 2, 2, 93, 24, 3, 2, 2, 2, 94, 95, 7, 47, 2, 2, 95, 26, 3, 2, 2, 2, 96, 97, 7, 44, 2, 2, 97, 28, 3, 2, 2, 2, 98, 99, 7, 49, 2, 2, 99, 30, 3, 2, 2, 2, 100, 101, 7, 62, 2, 2, 101, 32, 3, 2, 2, 2, 102, 103, 7, 63, 2, 2, 103, 34, 3, 2, 2, 2, 104, 106, 5, 45, 23, 2, 105, 104, 3, 2, 2, 2, 106, 107, 3, 2, 2, 2, 107, 105, 3, 2, 2, 2, 107, 108, 3, 2, 2, 2, 108, 36, 3, 2, 2, 2, 109, 111, 5, 43, 22, 2, 110, 109, 3, 2, 2, 2, 111, 112, 3, 2, 2, 2, 112, 110, 3, 2, 2, 2, 112, 113, 3, 2, 2, 2, 113, 38, 3, 2, 2, 2, 114, 115, 7, 49, 2, 2, 115, 116, 7, 49, 2, 2, 116, 120, 3, 2, 2, 2, 117, 119, 10, 2, 2, 2, 118, 117, 3, 2, 2, 2, 119, 122, 3, 2, 2, 2, 120, 118, 3, 2, 2, 2, 120, 121, 3, 2, 2, 2, 121, 124, 3, 2, 2, 2, 122, 120, 3, 2, 2, 2, 123, 125, 7, 15, 2, 2, 124, 123, 3, 2, 2, 2, 124, 125, 3, 2, 2, 2, 125, 126, 3, 2, 2, 2, 126, 139, 7, 12, 2, 2, 127, 128, 7, 49, 2, 2, 128, 129, 7, 44, 2, 2, 129, 133, 3, 2, 2, 2, 130, 132, 11, 2, 2, 2, 131, 130, 3, 2, 2, 2, 132, 135, 3, 2, 2, 2, 133, 134, 3, 2, 2, 2, 133, 131, 3, 2, 2, 2, 134, 136, 3, 2, 2, 2, 135, 133, 3, 2, 2, 2, 136, 137, 7, 44, 2, 2, 137, 139, 7, 49, 2, 2, 138, 114, 3, 2, 2, 2, 138, 127, 3, 2, 2, 2, 139, 140, 3, 2, 2, 2, 140, 141, 8, 20, 2, 2, 141, 40, 3, 2, 2, 2, 142, 144, 9, 3, 2, 2, 143, 142, 3, 2, 2, 2, 144, 145, 3, 2, 2, 2, 145, 143, 3, 2, 2, 2, 145, 146, 3, 2, 2, 2, 146, 147, 3, 2, 2, 2, 147, 148, 8, 21, 2, 2, 148, 42, 3, 2, 2, 2, 149, 150, 9, 4, 2, 2, 150, 44, 3, 2, 2, 2, 151, 152, 4, 50, 59, 2, 152, 46, 3, 2, 2, 2, 10, 2, 107, 112, 120, 124, 133, 138, 145, 3, 8, 2, 2] \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.tokens b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.tokens
new file mode 100644
index 0000000..2d6fdc7
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/lexer/TinyLexer.tokens
@@ -0,0 +1,36 @@
+IF=1
+THEN=2
+ELSE=3
+END=4
+REPEAT=5
+UNTIL=6
+READ=7
+WRITE=8
+OPAREN=9
+CPAREN=10
+PLUS=11
+MINUS=12
+MULTIPLY=13
+DIVIDE=14
+LT=15
+EQUAL=16
+NUM=17
+ID=18
+COMMENT=19
+WS=20
+'if'=1
+'then'=2
+'else'=3
+'end'=4
+'repeat'=5
+'until'=6
+'read'=7
+'write'=8
+'('=9
+')'=10
+'+'=11
+'-'=12
+'*'=13
+'/'=14
+'<'=15
+'='=16
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/p3-parser.iml b/Homework/cs5300/project-three/out/production/p3-parser/p3-parser.iml
new file mode 100644
index 0000000..8c27921
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/p3-parser.iml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<module type="JAVA_MODULE" version="4">
+ <component name="NewModuleRootManager" inherit-compiler-output="true">
+ <exclude-output />
+ <content url="file://$MODULE_DIR$">
+ <sourceFolder url="file://$MODULE_DIR$" isTestSource="false" />
+ </content>
+ <orderEntry type="inheritedJdk" />
+ <orderEntry type="sourceFolder" forTests="false" />
+ <orderEntry type="library" name="antlr-4.9.1-complete" level="project" />
+ </component>
+</module> \ No newline at end of file
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Action$Act.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Action$Act.class
new file mode 100644
index 0000000..2c89b29
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Action$Act.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Action.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Action.class
new file mode 100644
index 0000000..9cde3de
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Action.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Grammar.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Grammar.class
new file mode 100644
index 0000000..309a19a
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Grammar.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Item.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Item.class
new file mode 100644
index 0000000..980e93c
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Item.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Main.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Main.class
new file mode 100644
index 0000000..64b8ee0
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Main.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Parser.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Parser.class
new file mode 100644
index 0000000..2804ef3
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Parser.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/ParserException.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/ParserException.class
new file mode 100644
index 0000000..3c2a702
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/ParserException.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Rule.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Rule.class
new file mode 100644
index 0000000..048edb2
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Rule.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/State.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/State.class
new file mode 100644
index 0000000..720f6c8
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/State.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/States.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/States.class
new file mode 100644
index 0000000..fb1c4c1
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/States.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Tests.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Tests.class
new file mode 100644
index 0000000..74aa50e
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Tests.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/Util.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/Util.class
new file mode 100644
index 0000000..14780ec
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/Util.class
Binary files differ
diff --git a/Homework/cs5300/project-three/out/production/p3-parser/parser/util/SymbolComparator.class b/Homework/cs5300/project-three/out/production/p3-parser/parser/util/SymbolComparator.class
new file mode 100644
index 0000000..fd23969
--- /dev/null
+++ b/Homework/cs5300/project-three/out/production/p3-parser/parser/util/SymbolComparator.class
Binary files differ