From ee6c598892518d956388bb008095de6d4d7fe123 Mon Sep 17 00:00:00 2001 From: Tucker Evans Date: Mon, 5 Aug 2019 20:59:25 -0400 Subject: Add gitignore and checklists --- CHECKLIST.txt | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 55 insertions(+) create mode 100644 CHECKLIST.txt (limited to 'CHECKLIST.txt') diff --git a/CHECKLIST.txt b/CHECKLIST.txt new file mode 100644 index 0000000..ce22f78 --- /dev/null +++ b/CHECKLIST.txt @@ -0,0 +1,55 @@ +Project: DRAGON +=============== + +- Arrange an online demo of your compiler during Finals week (15min). + +- Send a self-contained compressed tar source of your compiler by + email. Your compiler must run on the ITL machines. + +- Submit a hardcopy of your compiler documentation: design document, + user manual, testing report, status report (limitations, caveats, or + bugs), and a "dragon" haiku. Indicate clearly in your report an + extra feature that is unique to your compiler. + +CHECK LIST +---------- +[X] (1.0) Lexical Analysis +[X] a. Line numbering +[X] b. Two styles of comments +[X] c. (optional) Scientific notation + +[ ] (1.5) Syntax Analysis: grammar adjustments +[X] a. Unlimited nesting of subprograms +[ ] b. Array access on both sides of assignment +[X] c. Allow for statements. + d. (optional) Another loop construct + e. (optional) Multidimensional arrays +[ ] f. (optional) Records and pointers +[ ] +[ ] (2.0) Symbol Table +[ ] a. Memory-leak handler + b. (optional) Statistical analysis of hashpjw +[ ] +[ ] (2.5) Syntax Tree (Intermediate Code Generation) +[ ] a. Visual print +[ ] b. Memory-leak handler + +[ ] (3.0) Semantic Analysis & Type Checking +[ ] a. Check list +[ ] b. Error reporting +[ ] c. (optional) Error recovery + +[ ] (4.0) Code Generation +[ ] a. Input/Output statements +[ ] b. Simple expressions (arithmetic and relational): gencode +[ ] c. Statements (assignment, conditional, loop) +[ ] d. Nonlocal names: base frame pointer (static scope parent) +[ ] e. Recursive routines (example: GCD program) +[ ] f. Complex expressions (register spilling) +[ ] g. (optional) Arrays (L-value, R-value, parameters, nonlocal) +[ ] h. (optional) Floating-point support + +[ ] Extra Trails (under construction) +[ ] - Lambda or Objects. +[ ] - Code generator for IA64 or SPARC (RISC architecture). +[ ] - Code optimization. -- cgit v1.1