|
Questions and Answers
Q: |
What is Draak? |
A: |
Draak is a Multilanguage Macro compiler. What does that
mean? Draak is a compiler that has the ablity to compile any language for
any platform by being a generic compiler. It reads in a language description
file and uses it to compile a program. It has two parts: parser and macros.
The parser replaces Yacc and Lex, and the macros replaces the code generation
for traditional compilers.
|
Q: |
What are the differant things on the status page? |
A: |
Parser: Uses the grammer file to determine the syntax
of a language and apply that to a specific file. It is a part of the the
DraakComp component.
Command Driver: This is the code generation stage. It takes a parsed
file, and runs assoicated macros with the tree that the parser built.
The command driver depends on the parser, but the parser does not depend on
the command driver.
Draak Component: This is accually Draak itself. It encapusates the parser,
the command driver, errors and a few more items inside of a Delphi component.
This makes creating new Draak based programs easy.
DraakCmd: This is the command version draak. Using Draak Component as a
backend, DraakCmd will compile a file and assemble/link it if it can.
TreeDraak: A development tool for Draak. It can compile a program and
do some useful debugging of a grammar. For example, it can show a parse tree
or a failed parse tree, show input and output at a glance. Quite useful
for building a grammar.
Preprocess.dll: This is a minor part of the Draak system. Every language,
in order to remove comments and run preprocess commands, need a DLL to
prepare the file. This is the DLL system that will retrieve the data
for Draak.
|
Q: |
What tasks do you need help with? |
A: |
I am looking for quite a bit of help. Specifically, I'm looking for:
People that know compilers well enough to be able to write a grammar for any language, specifically Java, C, C++, Lisp, and possibly C#.
People that know low-level operating system assembly to port the asm parts of existing grammar files to new archatectures/operating systems.
|
|
|
|
|