= COP 3402 (Systems Software) - Spring 2011 = '''TA''': Remo Pillat [[BR]] '''E-Mail''': rpillat@knights.ucf.edu [[BR]] '''Office Hours''': M 2:30 - 4:30 p.m. (HEC 308) [or by appointment] == Final Exam Preparation == - I will have '''extended office hours''' on Monday, 25 April from 2:00 p.m. - 5:00 p.m. in HEC 308 - '''Exam Review Session''': Wednesday, 27 April from 12:00 p.m. - 2:00 p.m. in HEC 101 - [raw-attachment:COP3402_Final_Review_Session.pdf Review Session Notes] == Lab Notes == - [raw-attachment:COP3402_Lab_01.pdf Lab 1] (01/20/2011) - [raw-attachment:COP3402_Lab_02.pdf Lab 2] (01/27/2011) - [raw-attachment:COP3402_Lab_03.pdf Lab 3] (02/03/2011) - [raw-attachment:COP3402_Lab_03_Worksheet.pdf Worksheet for regular expressions / DFAs] and its [raw-attachment:COP3402_Lab_03_Worksheet_Solutions.pdf Solution] - [raw-attachment:COP3402_Lab_04.pdf Lab 4] (02/10/2011) - [raw-attachment:COP3402_Lab_04_Worksheet.pdf Worksheet on grammars] and its [raw-attachment:COP3402_Lab_04_Worksheet_Solutions.pdf Solution] - [raw-attachment:COP3402_Lab_05.pdf Lab 5] (02/17/2011) - Review for Midterm 1 - [raw-attachment:COP3402_Lab_06.pdf Lab 6] (02/24/2011) - FIRST/FOLLOW review and CKY Parser - [raw-attachment:COP3402_Lab_07.pdf Lab 7] (03/03/2011) - Flex/Bison example, Assignment 4 - The calculator files that are developed in the lab notes, can be downloaded [raw-attachment:COP3402_Lab_07_Calculator_Flex_Bison.zip here]. - [raw-attachment:COP3402_Lab_08.pdf Lab 8] (03/17/2011) - More Assignment 4 details - The example file structure suggested in the lab notes can be downloaded [raw-attachment:COP3402_Lab_08_Assignment_4_Skeleton.zip here]. - [raw-attachment:COP3402_Lab_09.pdf Lab 9] (03/24/2011) - Bottom-Up Parsing, SLR Parser - [raw-attachment:COP3402_Lab_09_Worksheet.pdf Worksheet on SLR Parser] and its [raw-attachment:COP3402_Lab_09_Worksheet_Solutions.pdf Solution] - [raw-attachment:COP3402_Lab_10.pdf Lab 10] (03/31/2011) - SLR Parser Part 2, Synthesized and Inherited Attributes - [raw-attachment:COP3402_Lab_11.pdf Lab 11] (04/07/2011) - Attributes Review, First Notes on Final Project - [raw-attachment:COP3402_Lab_12.pdf Lab 12] (04/14/2011) - Review of Recursive Descent Parsing in C, More Notes on Final Project - [raw-attachment:COP3402_Lab_13.pdf Lab 13] (04/21/2011) - Final Project, Final Exam == Final Project == - '''[raw-attachment:COP3402_Final_Project_Grading_Criteria.pdf Grading Criteria]''' and '''[raw-attachment:COP3402_Final_Project_Test_and_Reference.zip Test/Reference Files]''' [[BR]] - [raw-attachment:COP3402_Final_Project_Skeleton.zip Skeleton code] for the final project (contains a fully functional lexical analyzer and supplemental parsing routines) - If you are still struggling with the basic concept on how you would code a recursive descent parser in C, there is a [http://teaching.idallen.com/cst8152/98w/recursive_decent_parsing.html pretty good tutorial] on how you would implement expression parsing in C. == Assignments == - Assignment 1a - [raw-attachment:COP3402_Assignment_1a_Grading_Criteria.pdf Grading Criteria] and [raw-attachment:COP3402_Assignment_1a_Test_and_Reference.zip Test/Reference Files] - Assignment 1b - [raw-attachment:COP3402_Assignment_1b_Grading_Criteria.pdf Grading Criteria] and [raw-attachment:COP3402_Assignment_1b_Test_and_Reference.zip Test/Reference Files] - Assignment 2 - [raw-attachment:COP3402_Assignment_2_Grading_Criteria.pdf Grading Criteria] and [raw-attachment:COP3402_Assignment_2_Test_and_Reference.zip Test/Reference Files] - Assignment 3 - [raw-attachment:COP3402_Assignment_3_Grading_Criteria.pdf Grading Criteria] and [raw-attachment:COP3402_Assignment_3_Solution.pdf Solution] - Assignment 4 - [raw-attachment:COP3402_Assignment_4_Grading_Criteria.pdf Grading Criteria] and [raw-attachment:COP3402_Assignment_4_Test_and_Reference.zip Test/Reference Files] == Helpful Pages == - [wiki:COP3402Spring2011Spring2011/InstallEclipseCpp Installing Eclipse for C/C++] - [wiki:COP3402Spring2011Spring2011/CompilerSettings Required Compiler Settings for all submitted Programs] == Tools == - Flex: [http://gnuwin32.sourceforge.net/packages/flex.htm Download for Windows] and [http://flex.sourceforge.net/manual/ Manual] - Bison: [http://gnuwin32.sourceforge.net/packages/bison.htm Download for Windows] and [http://www.gnu.org/software/bison/manual/bison.html Manual] ('''NOTE''': Make sure to install Bison in a path without any spaces, e.g. {{{C:\GnuWin32}}}) - [http://www.supereasyfree.com/software/simulators/compilers/principles-techniques-and-tools/parsing-simulator/parsing-simulator.php Parsing Simulator] : For generating FIRST and FOLLOW Sets as well as LL(1) and LR parsing tables - [http://www.swisseduc.ch/compscience/exorciser/ Exorciser] : Generator of exercises in the theory of computing. Of interest for us the CKY parsing implementation.