| /var/spool/weblog | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
Geek News del.icio.us bookmarks RSS |
Sat, May 21, 2005
Final Exam Date
/var/spool/courses/csuf/2005/spring/cpsc423 # Thu, May 19, 2005
Class Cancelled
/var/spool/courses/csuf/2005/spring/cpsc433 # Sun, May 15, 2005/var/spool/courses/csuf/2005/spring/cpsc433/misc # Fri, May 13, 2005
Final Review
/var/spool/courses/csuf/2005/spring/cpsc433 #
Outline updated
/var/spool/courses/csuf/2005/spring/cpsc423 # Tue, May 10, 2005
Symantec Worm Simulator
If you're running Windows, download it and let me know. /var/spool/courses/csuf/2005/spring/cpsc433/misc # Mon, May 09, 2005
Today's Project Meeting
/var/spool/courses/csuf/2005/spring/cpsc461 # Sun, May 08, 2005
Office Hour Change
/var/spool/courses/csuf/2005/spring #
PLY Format
/var/spool/courses/csuf/2005/spring/cpsc465 # Sat, May 07, 2005
Parser Test Programs
/var/spool/courses/csuf/2005/spring/cpsc423 # Mon, May 02, 2005
Windows executable for 3AC Interpreter
/var/spool/courses/csuf/2005/spring/cpsc423 #
Software Milestone Exercise
/var/spool/courses/csuf/2005/spring/cpsc461 # Sun, May 01, 2005
3AC Interpreter
$ python 3vm.py factorial.3acYou'll see a trace of memory accesses and the output of the program. (Note: now that I've actually been able to run the program, I've updated the original factorial program and its corresponding 3AC code, and added a HLT instruction to the 3AC definition.) /var/spool/courses/csuf/2005/spring/cpsc423 #
Example Parser and another Lexical Analyzer
The parser was generated with the Coco/R compiler generator. To add semantic actions, you can either read the documentation, edit example.atg and re-generate the compiler, or you can modify the C code directly. I chose Coco/R instead of YACC or Bison because it generates Recursive-Descent parsers instead of LALR(1) parsers. You are, of course, limited to LL(1) languges, but the resulting code is significantly easier to read and debug. /var/spool/courses/csuf/2005/spring/cpsc423 # Sat, Apr 30, 2005
Static models
/var/spool/courses/csuf/2005/spring/cpsc465 # Fri, Apr 29, 2005
Assignment 3
/var/spool/courses/csuf/2005/spring/cpsc423 #
No class tonight
/var/spool/courses/csuf/2005/spring/cpsc423 # Wed, Apr 27, 2005
Assignment 5
/var/spool/courses/csuf/2005/spring/cpsc465 # Mon, Apr 25, 2005
Today's Lab Exercises
/var/spool/courses/csuf/2005/spring/cpsc461 # Tue, Apr 19, 2005
Optical Illusions
/var/spool/courses/csuf/2005/spring/cpsc465 #
Example Lexical Analyzer
This is a scanner generated by Flex, the GNU Fast Lexical Analyzer generator. You need the .c and .h files to compile a working program. The file example.l is the Flex source file; you won't need this unless you want to change the scanner. The file lex.yy.c was generated with the command flex -l example.l. Take a look at main.c to see how the lexical analyzer works. Call yylex() to get the next token. The value returned by yylex() will be one of the token types defined in y.tab.h. When yylex() finishes, the variable yytext will contain the corresponding lexeme. /var/spool/courses/csuf/2005/spring/cpsc423 # Mon, Apr 18, 2005
Lab Exercises
/var/spool/courses/csuf/2005/spring/cpsc461 # Wed, Apr 13, 2005
For Windows people
/var/spool/courses/csuf/2005/spring/cpsc423 #
Test Generator
While the code is a little complicated by the need to keep track of declared variables and indentation, really all it does is use the grammar the way Chomsky intended, in "reverse", to generate new programs. Note too that while the programs are syntactically correct and obey the rules that I set down in the assignment for the use of identifiers, they're completely meaningless. /var/spool/courses/csuf/2005/spring/cpsc423 #
I give up
/var/spool/courses/csuf/2005/spring/cpsc423 # |
Topics
Archives
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||