cse 570/670 : Compilers : Fall 2019

Other project possibilities:


Notes on converting from Regular Expression -> NFA -> DFA . (updated - state table algorithm 05/05/02)
Ref:Postcript/ Pdf
Notes on FIRST and FOLLOW algorithms (pdf)
Expression grammar LR(0) and LR(1) tables
Some personal views on why to study compilers
Sample makefile using lex and yacc
Code generation and analysis Notes for final

http://www.cse.csusb.edu/egomez/cs670.html - updated 01/14/15

Learning Outcomes

The following are learning outcomes for the Computer Science program, accredited by ABET This course supports these outcomes.

a) An ability to apply knowledge of computing and mathematics appropriate to the discipline

b) An ability to analyze a problem, and identify and define the computing requirements appropriate to its solution

c) An ability to design, implement, and evaluate a computer-based system, process, component, or program to meet desired needs

d) An ability to function effectively on teams to accomplish a common goal

e) An understanding of professional, ethical, legal, security and social issues and responsibilities

f) An ability to communicate effectively with a range of audiences

g) An ability to analyze the local and global impact of computing on individuals, organizations, and society

h) Recognition of the need to and an ability to engage in continuing professional development

i) An ability to use current techniques, skills, and tools necessary for computing practice

j) An ability to apply mathematical foundations, algorithmic principles, and computer science theory in the modeling and design of computer-based systems in a way that demonstrates comprehension of the tradeoffs involved in design choices

k) An ability to apply design and development principles in the construction of software systems of varying complexity

The following are CSUSB policies

{Plagiarism and Cheating}

Plagiarism and cheating are violations of the Student Conduct Code (see Appendix) and may be dealt with by both the instructor and the Judicial Affairs Officer. Definition and procedures for addressing cheating and plagiarism are found below. Questions about academic dishonesty and the policy should be addressed to the Office of the Vice President, Student Services. Plagiarism is the act of presenting the ideas and writings of another as one’s own. Cheating is the act of obtaining or attempting to obtain credit for academic work through the use of any dishonest, deceptive, or fraudulent means. Cheating includes but is not limited to:

1. Copying, in part or in whole, from another’s test, software, or other evaluation instrument.

2. Submitting work previously graded in another course unless this has been approved by the course instructor or by departmental policy.

3. Submitting work simultaneously presented in two courses, unless this has been approved by both course instructors or by the department policies of both departments.

4. Using or consulting during an examination sources or materials not authorized by the instructor.

5. Altering or interfering with grading or grading instructions.

6. Sitting for an examination by a surrogate, or as a surrogate.

7. Any other act committed by a student in the course of his or her academic work, which defrauds or misrepresents, including aiding or abetting in any of the actions defined above.

Plagiarism is academically dishonest and makes the offending student liable to penalties up to and including expulsion. Students must make appropriate acknowledgements of the original source where material written or compiled by another is used. Procedure. Allegations of academic dishonesty may be handled directly by the instructor or may be referred by the instructor to the Judicial Affairs Officer. If handled by the instructor, the instructor has the following responsibilities:

1. To preserve the evidence in support of the allegation;

2. To notify the student of the allegation and of the evidence on which it is based;

3. To provide the student a reasonable opportunity to challenge or rebut the allegation;

4. To notify the student of the action being taken.

The instructor may employ any of the following sanctions:

1. Verbal or written reprimand;

2. Assignment or appropriate task or examination;

3. Change of grade, including assigning a punitive grade to work involving dishonesty, or for the course, project, thesis, or any other summary evaluation of the student’s academic work.

If the student does not wish to accept the sanction proposed by the instructor, the student may request and require that the allegation be referred to the Judicial Affairs Officer. In that event, the procedures specified under Executive Order 970 (Student Disciplinary Procedures of the California State University) shall be observed. The instructor shall not impose any sanction other than the sanction(s) imposed through the disciplinary procedure.

{Students with Disabilities:}

If you are in need of an accommodation for a disability in order to participate in this class, please let me know and also contact Services to Students with Disabilities at UH-183, (909)537-5238.