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?
  • 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.

  • Defy!