Frequently Asked Questions
What is JetPAG?
JetPAG is a parser and lexical analyzer generator. It generates optimized recursive-descent recognizers with multi-token lookahead (all this mumbo-jumbo is explained the the LL(k) Parsers section in the Documentation). The name Jet Parser Auto-Generator came from the fact that JetPAG places a high focus on the performance, efficiency and code-readability of the generated recognizers.
What are the design goals?
- Generating high-performance and efficient code.
- Very good readability of generated code.
- Flexibility and suitability for a very wide spectrum of applications.
- Easy integration of generated code into larger projects.
Who wrote JetPAG?
JetPAG is a personal effort by me, Tareq H. Sharafy. You can can contact me via e-mail.
How is JetPAG licensed?
JetPAG is licensed under the GNU General Public License, you can find the full text in the License section in the documentation. It is an open-source project, this means you can grab and examine or modify the source code of JetPAG whenever you want, as long as you do not redistribute it commercially. However the real power of open-source takes place when you grab the sources and support JetPAG itself by suggesting changes and improvements, I'd be really thankful if you do this ;).
Is JetPAG defficult to learn?
No at all! you won't need more than 10 minutes to go over the Getting Started tutorial and you're already familiar with JetPAG. If you need JetPAG for more advanced tasks You'll discover more and more features by reading the Documentation.
LL(k) parsers aren't fastest. What does JetPAG say about that?
JetPAG indeed chokes at that. JetPAG performs numerous optimizations and checks every bit before making a decision about the generated recognizer. JetPAG features a whole separate module dedicated for optimizing generated recognizers at both abstraction and code generation phases. I take JetPAG and generated code into severe run-time tests and profilations before any release.
I want to examine the generated source code by JetPAG. Is that easy?
Yes indeed. Code readability and formatted structuring of generated code is an important concept in JetPAG. You can read the generated files and fully understand them. JetPAG generates comments whenever necessary to make the code even more readable and help deubgging generated files.
In what languages does JetPAG generate code?
JetPAG generates C++ code. More target languages should be added through development of JetPAG.