DOC PREVIEW
UConn CSE 4100 - Study guide

This preview shows page 1 out of 3 pages.

Save
View full document
View full document
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience
Premium Document
Do you want full access? Go Premium and unlock all 3 pages.
Access to all documents
Download any document
Ad free experience

Unformatted text preview:

Semester Project – Part 3 – CSE4100 – Fall 2011Due: Wednesday, December 7, 2011, at 2:00pmThe third and final part of the semester project focuses on the actual generation of formattedoutput from Latex input. There are 5 tasks for this project, with the divisions given to differentiatebetween required work/point totals and bonuses. Note that you MUST utilize the %union commandto redefine the parsing stack in bison (or an equivalent redefinition in whichever bison you are using).This project is worth 150 points. The tasks for the project are:1. Basic Text Processing Capabilities (35 points total), including: Section/Subsection/Table ofContents (5pts), Line Spacing/Single-Double-Triple (5pts), Page Numbering/Styles (2.5pts),Horizontal/Vertical Spacing (2.5pts), Italics/Roman Fonts (2.5pts), Paragraphs/Noindent (2.5pts),Right Justification (10pts), and Begin/End Single Blocks (5pts).2. Advanced Text Processing capabilities (55 points total), including: Itemize Blocks (5pts), Enu-merate Blocks (5pts), Center Blocks (5pts), Verbatim Blocks (5pts), Tabular Blocks (10pts),Table Blocks with Refs/Captions (5pts), and Relevant Combinations of Blocks (20pts).3. Nested Blocks within Single Environment (15 points total): In this task, you must rewrite thegrammar to support the definition of single blocks with nested blocks that have interveningtext, e.g.,\begin{single}Here is some text beforea begin end itemize block.\begin{itemize}\item One item\item Another item\end{itemize}Here is some more text - does this work?\end{single}To support this capability, you must carefully alter the grammar production rules. We recom-mend doing this last, since it will likely cause problems and the other parts can be designed,implemented, and tested, without this extension.4. Full-Blown Verbatim (15 points total): All possible Latex commands that are embedded in averbatim block (e.g., backslash, blocks, etc.) are ignored. The single block previously generatedwas output by enclosing all of the commands within a verbatim block.5. Type/Error Checking (20 points total): Add type checking and error reporting to your Latexcompiler. Implement the following type checking:1• Basic Begin/End Blocks (5pts): the type of block for the begin and end must match, e.g.,both single, both verbatim, etc.• Adv. Begin/End Blocks (5pts): Only supports the following combinations:Single around Itemize/Enumerate/CenterAll Combos of Itemize/Enumerate - Up to 3 levels deepCenter around Tabular/VerbatimAll other combinations should result in an error.• Tabular Specification (10pts): The number of columns in the table specification shouldmatch each table entry. For example:\begin{tabular}{ccc}One & Two & Three \\One & Two & Three & Four \\One & Two \\\end{tabular}has an error in the second entry since four columns are given. Note that the third entryis allowed since there are less columns than specified, so Latex assumes a blank thirdcolumn for the entry.6. Documentation, Log, Testing (10 points total). Note that your documentation MUST be runthrough your text processor to generate formatted output from a Latex input file!Note that you can have multiple versions of your “completed” project. For example, you may havea version that supports Basic and Advanced Text Processing Capabilities and Type-Checking, witha second version containing Verbatim and Nested Blocks enhancements. Points for each task areposted to allow you to maximize the points you receive for the project.The course web site contains a number of important files, including:WEB PAGE FILES FOR PROJECT, PART 3latex.l : Common lexical analyzer specificationlatexp3c.y : Yacc file with nested blocks, WS, and verbatimalong with basic code generationlatexp3c.output : S/R and R/R Conflicts - Are all OK?generate.c : Basic routines for formatted text generationutil.c : Utility routineslatex.input.txt : Sample inputlatexout.txt : Generated output for sample (with errors!)latextoc.txt : Generated table of contents for sampleproj3gs.doc : Grading Sheet - place initials next to which partseach person on the team was primarily responsible for.COMPILATION INSTRUCTIONS:flex latex.lbison latexp3c.ygcc latexp3c.tab.c -lflEXECUTION INSTRUCTIONS:a.out < latex.input.txtTHIS GENERATES THE FILES:latexoutlatextocPortions of these and other files will be discussed in class. Note that the files latex.input.txt,latexout.txt, and latextoc.txt all have “.txt” extensions for viewing on the course website. However,the code (latex.l, latexp3code.y, util.c, and generate.c) all use these files without the “.txt” extension.The third part of the project is a TEAM PROJECT and is due on Wednesday, December7, 2011 at 2pm. You are to work in teams of 2 individuals. You must notify Prof. Demurjian(steveengr.uconn.edu) of your team by November 11th. For the final project report, please hand inthe following:1. A hard copy of the bison specification for part 3. DO NOT HAND IN the generated bison‘‘.c’’ files! Also include copies of any relevant ‘‘.c’’ files!2. Documentation of your solution that includes: (1) any assumptions that you make regardingthe output format and style of your document (e.g., margins, page number locations, handlingunderlining, etc.); (2) a log file that keeps track of all of your major design steps, implemen-tation strategies, problems encountered (with flex/bison) and their solutions, aspects of theproject that were easy/hard, changes that were made to the grammar, etc. The key word in(2) is MAJOR design steps. NOTE AGAIN THAT YOUR DOCUMENTATION MUST BEGENERATED USING YOUR LATEX COMPILER!!!! (Thus, hand in both the documenta-tion and the original input file!)3. Test cases and test results for all tasks, clearly marked and organized. Note that in lateNovember/early December, a set of representative test cases may be made available for youruse.4. Hand in your projects using an electronic media (via email - zip file using lastnames.zip)emailed to TA Eugene Sanzi([email protected]).Note that if Eugene has trouble compiling and/or executing your software, he will contact you foran in person


View Full Document

UConn CSE 4100 - Study guide

Download Study guide
Our administrator received your request to download this document. We will send you the file to your email shortly.
Loading Unlocking...
Login

Join to view Study guide and access 3M+ class-specific study document.

or
We will never post anything without your permission.
Don't have an account?
Sign Up

Join to view Study guide 2 2 and access 3M+ class-specific study document.

or

By creating an account you agree to our Privacy Policy and Terms Of Use

Already a member?