Most Recent Assignments Are At The Bottom of This Page
parser3.java
A java program
that simulates a parser for a simple grammar.
Output of parser3.java
Some test's
of parser3.java
parser_tiny.c
An ANSI C
program the correctly parser's a program written according to "Tiny" grammar
rules. If this parser crashes while attempting to parse a "tiny"
program then your "tiny" source code has extensive syntactical and possibly
semantical errors. Even modern day high tech compilers can't recover
from certain errors that are detected during parsing. If this parser
returns Valid Program then your "tiny" program complies with the grammar
rules. If it returns Valid Program when an invalid "tiny" program
is submitted then you have found a bug and I would appreciate an email
message. This executable requires two command line arguments, an
input file name and an output file name respectively. e.g. $ a.out
input_file output_file
"Tiny" program
Used as input
test for parser_tiny.c
Output file from parser_tiny after above test was parsed.
Tiny grammar rules
A BNF form of the grammar
rules
Problems 15 & 21 from page 286
of text.
The text is Concepts
of Programming Languages fourth edition. Robert Sebesta. Addison Wesley,
1999.
Scheme Project
Scheme is a functional
language, and therefore the code seems much different than imperative languages.
Scheme allows for fast recursive functions, which makes it easy to generate
simple efficient algorithms.
Prolog Example, problem #3 of text.
Prolog example. The facts define
a family tree.
Prolog Example, problem #4 of text.
Other half of problem #3.
Report on Perl.
Short Research report on Perl.
It Reveals a few strengths and weaknesses.