125 projects tagged "Code Generators"
Cobra is a general purpose programming language with a clean, high-level syntax. It provides language level features for quality, including first class unit tests and Eiffel-style contracts. It supports both static and dynamic binding. Cobra is a compiled language with good run-time performance, but also provides some scripting conveniences such as a pound-bang line (#!) and one step compile-and-run. Cobra runs on Linux, Mac, Windows, and anywhere else that Novell Mono or MS .NET exist, including handhelds.
Racket (formerly PLT Scheme) is a programming language suitable for implementation tasks ranging from scripting to application development, including GUIs, Web services, etc. It includes the DrRacket programming environment, a virtual machine with a just-in-time compiler, tools for creating stand-alone executables, the Racket Web server, extensive libraries, documentation for both beginners and experts, and more. It supports the creation of new programming languages through a rich, expressive syntax system. Example languages include Typed Racket, ACL2, FrTime, and Lazy Racket.
pyPEG is a quick and easy solution for creating a parser in Python programs. pyPEG uses a PEG language in Python data structures to parse, so it can be used dynamically to parse nearly every context free language. The output is a plain Python data structure called pyAST, or, as an alternative, XML.
4tH is a Forth compiler with a little difference. Instead of the standard Forth engine it features a conventional compiler. 4tH is a very small compiler that can create bytecode, C-embeddable bytecode, standalone executables, but also works fine as a scripting language. It supports about 95% of the ANS Forth CORE wordset and features conditional compilation, pipes, files, assertions, forward declarations, enumerations, structures, suspended execution, recursion, include files, etc. It comes with an RPN calculator, line editor, preprocessor, compiler, decompiler, C-source generator, a virtual machine, and a multitasking environment.
Styx is a scanner/parser generator designed to address some shortcomings of the traditional lex/yacc combination. It has unique features like automatic derivation of depth grammar, production of the derivation tree, including it's C interface, preservation of full source information, pretty printing to faciliate source-source translation, and persistence to aid rapid interpreter writing. It also supports reentrancy. Styx works well under several different OSes, including serveral Unixes, DOS, and Windows.
The libjit library implements just-in-time compilation functionality. Unlike other JITs, this one is designed to be independent of any particular virtual machine bytecode format or language. Currently, libjit is used as the JIT backend for the DotGNU Portable.NET project (in addition to its default CVM backend). However, the hope is that other Free Software projects can use this library rather than spending large amounts of time writing their own JIT from scratch.
ANTLR (ANother Tool for Language Recognition) is a language tool that provides a framework for constructing recognizers, compilers, and translators from grammatical descriptions containing C++, Java, or Sather actions. It is similar to the popular compiler generator YACC, however ANTLR is much more powerful and easy to use. ANTLR-produced parsers are not only highly efficient, but are both human-readable and human-debuggable (especially with the interactive ParseView debugging tool). ANTLR can generate parsers, lexers, and tree-parsers in either C++, Java, or Sather. ANTLR is currently written in Java.