-
Notifications
You must be signed in to change notification settings - Fork 1
Application and Libraries for dynamic and interactive teaching in the Computer Theory area
License
juanger/jaguar
Folders and files
Name | Name | Last commit message | Last commit date | |
---|---|---|---|---|
Repository files navigation
Java Automaton and Grammar User Application Resources (Jaguar) (C) 2001 by Ivan Hernandez Serrano ======================================================================== 1. Introduction 2. System requirements 3. Compiling the sources & running 4. Running the binary distribution 5. Using the Jaguar 6. Author 7. Contributors ======================================================================== 1. Introduction Jaguar is a Free Software tool written in Java (TM) for people in the Computer Theory area. Jaguar provides an infrastructure of libraries, engines and graphical applications that support most of the models and algorithms reviewed in a regular undergraduate computer theory (automata and formal languages) course. All the models of abstract machines covered by Jaguar have: (1) an engine that reads an input string and answer whether the string is accepted or not, (2) a GUI that provides a graphical representation, (3) a set of controls that allows interactive manipulation of the machine and the input strings. The abstract machines covered are: + DFA -- deterministic finite automaton + NFA -- no deterministic finite automaton + PDA -- pushdown automaton (or SFA stack finite automaton) + Turing -- Turing machine Jaguar also includes an implementation of grammars. All grammars share a common GUI, and there are three specializations: + Type 3 grammar. This type of grammars receive an input string an and, if this string is generated by the grammar, then the GUI shows the derivation tree for that particular input. + Type 2 grammar, this type of grammars are used to work with well defined standardizer algorithms. Type 2 lazy grammars are also supported, only these are less restrictive on their production forms and also are used with the standardizer algorithms. Jaguar provides the following algorithms (which use the above defined structures): + DFA minimization, minimize a given DFA into another equivalent, engine & GUI + NFA to DFA conversion, transformation of a given NFA into an equivalent DFA + Type 3 grammar into NFA conversion, transforms a given type 3 grammar into an equivalent NFA. + DFA to Type 3 grammar conversion, transforms a given NFA into an equivalent type 3 grammar. + Type 2 grammar standardization. Given a Free Context Grammar (a type 2 lazy grammar) we get his standardized version applying the algorithms to eliminate unreachable symbols, unary productions, epsilon productions, and finally Chomsky and Greibach Normal Form. All the structures used are specified using xml-like syntax. See section XX for examples. 1.1 Where do I get Jaguar? You can get the Jaguar package and found more about it from: http://sourceforge.net/projects/ijaguar/ 2. System requirements In principle, you only need a Java2(TM) virtual machine (JVM) >=v1.4.0 with the Java Foundation Classes (JFC) -- usually the JFC are included in the standard distribution of the major vendors. You can get your favorite JVM, from the next sources: http://www.blackdown.org http://www.java.sun.com If you just want to run Jaguar it's enough to have any Java 2 Runtime Environment (JRE). To compile the sources you will also need a java compiler, also readily available. This project was developed and tested using the Java 2 v1.4.2_06 from java.sun.com. In the other hand the minimum hardware requirements are the specified by the vendor of the JVM of your choice. You need ant for compile the sources. The version of ant was 1.6.2. 3. Compiling the sources & running Usually the sources will be delivered on a package such as: jaguar.x-yz.src.tbz2 you need follow the next steps. 3.1 Extract the sources. tar yxvf jaguar.x-yz.src.tbz2 the previos command will generate the directory jaguar.x-yz/ 3.2 Change to the jaguar.x-yz/ directory. 3.4 Type `ant', and wait a few moments. 3.5 Now you can execute Jaguar as in: ant jcenter and you should see the Jaguar Center. 4. Running the binary distribution The binary distribution will be delivered on a jar file, so you only need to execute the Jaguar in the next way java -jar jaguar-<version>.jar (change <version> for your correct version) and you should see the Jaguar Center. 5. Using the Jaguar For a quick HowTo use Jaguar see the file MANUAL in this same directory. 6. Author Please send your comments, improvements, or suggestions to the following address: Ivan Hernández Serrano School of Sciencie, Universidad Nacional Autónoma de México ivanx@users.sourceforge.net http://sourceforge.net/projects/ijaguar You may ask for support to Ivan Hernández ivanx@users.sourceforge.net and Ismael Hernndez González ismaelhz@users.sourceforge.net both of us are the main developer team :) 7. Contributors Special thanks to Ismael Hernández González (ismaelhz@users.sourceforge.net) for his support and active contributions to this project. I also want to thank to Fernanda Sánchez Puig for her bug fixes and support using this material in her courses.
About
Application and Libraries for dynamic and interactive teaching in the Computer Theory area
Resources
License
Stars
Watchers
Forks
Packages 0
No packages published