CS253 Theory of Computation
Laboratory topics are investigated using the JFLAP software tool. JFLAP was developed at Duke University by Susan Rogers and supports construction and testing of abstract machines and languages. Programming projects are implemented in C++. Example project topics include: deciding whether an NFA accepts some string w, conversion of an NFA to a DFA, conversion of an NFA to a CFG, and conversion of a CFG to Chomsky Normal Form.
L-Systems Lab |
|
![]() |
These images were rendered with JFLAP and the grammars are modifications of examples presented in the "Algorithmic Beauty of Plants" by P. Prusinkiewicz and A. Lindenmayer.
3D Bush Axioms Start axiom, A; A --> @@ [ & F L ! A ] / / / / / # [ & F L ! A ] / / / / / / / # [ & F L ! A ]; F --> S / / / / / F g; L --> [ ^ ^ { - g + g + g - % - g + g + g } ]; S --> F L; |
![]() |
3D Flower Axioms Start axiom, P; F --> F g; FL --> [ & & & PE / W / / / / W / / / / W / / / / W / / / / W ]; I --> F g S [ / / & & L ] [ / / ^ ^ L ] F g S; L --> [ polygonColor=darkOliveGreen { + g - g g - g + % + g - g g - g } ]; P --> I + [ P + FL ] - - / / [ - - L ] I [ + + L ] - [ P FL ] + + P FL; PE --> F g F g; S --> F g F g; W --> [ ^ F g ] [ polygonColor=orangeRed { & & & & - g + g % - g + g } ]; |
Students develop an original Lindenmayer System Grammar and use the JFLAP tool to graphically render a 2D or 3D image of the grammar. For a brief introduction to Lindenmayer Systems see the following resources:
- http://www.biologie.uni-hamburg.de/b-online/e28_3/lsys.html - An Introduction to L-Systems
- http://parallel.hpc.unsw.edu.au/complex/tutorials/tutorial2.html - Another Introduction to L-Systems using FractINT
- http://www.ee.uwa.edu.au/~braunl/lgrammar/java/ - An online Java Applet to generate L-Systems
- http://www.biologie.uni-hamburg.de/b-online/lsystjava/LSys.html - Another online Java Applet to generate L-Systems
- http://www.cpsc.ucalgary.ca/Research/bmv/vmm/animations.html - Online animations of plant growth from Univ. Calgary
- http://www.geocities.com/Athens/Academy/8764/lmuse/lmuse.html - Extremely cool MIDI file generation from L-System grammars using LMUSe
- http://www.geocities.com/Athens/Academy/8764/lmuse/lmusej.html - Download page for LMUSe
Lindenmayer Systems Lab Results |
||
![]() |
![]() |
![]() |
| Infinite Stairs , Joe Pletcher | 3D - Bush, David Sullivan | 3D - Bush, Neha Murarka |
![]() |
![]() |
|
| Christmas Tree, Joseph Henrich | Spiral, Traian Andrei | |






