[Edu-sig] Re: [Tutor] Intro to CS (boolean.py)
Danny Yoo
dyoo@hkn.eecs.berkeley.edu
Sun, 14 Oct 2001 17:39:30 -0700 (PDT)
Hi Kirby,
I've written a small "propositional logic" parser class that you might
find useful:
http://hkn.eecs.berkeley.edu/~dyoo/python/propositions/
I wrote it as an experiment with the Spark parser-generator a month ago. I
haven't been working on it for a while now, and you're welcome to use the
parser if it's useful for you.
Here's a small sample of what it does:
###
[dyoo@tesuque propositions-0.2]$ python parser.py
This is a small test of the propositional parser.
Enter propositional phrases at the prompt. To quit, type "quit" at
the prompt.
Examples of some phrases:
jack and jill
rock and rolling implies not moss
[ParserTest] >>> a and not b or c
or[and[a, not[b]], c]
###
The parser tries to be nice by allowing both English and "C"-ish syntax,
and sticks with precedence rules to reduce the number of parentheses
needed to disambiguate the expressions.
I actually have an updated version 0.3 on my laptop that should work
better than what's on the web site, and I'll put it up tonight when I get
the chance. (Version 0.2 is actually a little broken: it has a logic bug
that I should investigate.)
Hope this helps!