Projects tagged ‘compiler’, ‘interpreter’, and ‘python’


[10 total ]

1960 Users
   

Python is a dynamic, object-oriented programming language that can be used for many kinds of software development. It offers strong support for integration with other languages and tools, comes with ... [More] extensive standard libraries, and can be learned in a few days. Many Python programmers report substantial productivity gains and feel the language encourages the development of better code. [Less]
Created over 3 years ago.

42 Users
   

A wrist-friendly language targeting the Common Language Runtime (.NET / Mono) with an extensible compiler pipeline, a syntax reminiscent of Python, and many other features (like type inference, syntactic macros, etc.)
Created over 3 years ago.

36 Users
   

Jython is a Java implementation of the Python programming language. It allows users to compile Python source code to Java byte codes, and run the resulting bytecodes on any Java Virtual Machine. It is ... [More] a very seamless and smooth integration with Java: from Python you have complete access to all Java libraries, can build applets, can integrate with Java beans, and can subclass Java classes in Python and vice versa. Like Python, and unlike Java, Jython can also be used interactively: just type some Jython code at the prompt and see the results immediately. [Less]
Created over 3 years ago.

24 Users
   

The PyPy project aims at producing a flexible and fast Python implementation. The guiding idea is to translate a Python-level description of the Python language itself to lower level languages. Rumors ... [More] have it that the secret goal is being faster-than-C which is nonsense, isn't it? [Less]
Created over 3 years ago.

6 Users
   

IronPython is a new implementation of the Python programming language running on .NET. It supports an interactive console with fully dynamic compilation. It is well integrated with the rest of the ... [More] .NET Framework and makes all .NET libraries easily available to Python programmers, while maintaining full compatibility with the Python language. [Less]
Created about 1 year ago.

2 Users
   

Python 3000 (a.k.a. "Py3k", and released as Python 3.0) is a new version of the language that is incompatible with the 2.x line of releases. The language is mostly the same, but many details ... [More] , especially how built-in objects like dictionaries and strings work, have changed considerably, and a lot of deprecated features have finally been removed. [Less]
Created over 2 years ago.

0 Users

KitschKitsch is a programming language developed by Zach Busser and Andrew Pangborn. This wiki contains documentation for users of the language, as well as some insight into the thought processes ... [More] behind developing it. Contents:Downloading and making the language The syntax and other rules of the language The formal grammar of the language The Kitsch interpreter The Kitsch "Machine" Language The Kitsch Compiler The Kitsch Virtual Machine Type Checker Changes:A changelog is available on the Introduction wiki page ANTLR PresentationPresentation and Samples Folder Powerpoint Slides [Less]
Created 11 months ago.

0 Users

This project called 2C-Python, because: 1) compiler build to to work with CPython 2) compiler generates C-code. (C + C = 2C). Difference from Cython: 1) No syntax parser. I decompile Python ... [More] bytecode to source-like structure, after it generate C-code. 2) Direct using PyFrameObject to compatibility with CPython code Very early pre-alpha. [Less]
Created 5 months ago.

0 Users

A minimalist implementation of Python in 64k of code. Includes functions, classes, exceptions, lists, dictionaries, modules, list comprehensions, parser, compiler, virtual machine, garbage ... [More] collection, numbers, strings, and (some) builtins. Batteries not included. [Less]
Created about 1 year ago.

0 Users

A product of self-learning compiler & interpreter construction. It consists of a handcrafted recursive descent parser, an interpreter and a code generator emitting x86 assembly, which can be further ... [More] assembled and linked to form native executables. +------------------------------------------------------------------------------+ |                                                                              | |                     scanner*/parser*                                         | |  PL/0 source code -------------------> concrete parse tree*                  | |                                                 |                            | |                                                 | AST generator*             | |                                                 |                            | |                                                 V                            | |            interpreter* <............. abstract syntax tree*                 | |                                                 |                            | |                                                 | x86 assembly generator*    | |                                                 |                            | |                                                 V                            | |                                            x86 assembly                      | |                                                 |                            | |                                                 | NASM assembler             | |                                                 |                            | |                                                 V                            | |                                            object file                       | |                                                 |                            | |                                                 | GCC (serves as a linker)   | |                                                 |                            | |                                                 V                            | |        operating system <.............   native executable                   | |                                                                              | |                                                                              | | *    implemented in Python                                                   | | -->  code transformation                                                     | | ..>  executed by                                                             | |                                                                              | +------------------------------------------------------------------------------+Directory layout: build/ ... generated stuff cygbin/ ... executables for Cygwin from build/cygobj cygobj/ ... object files for Cygwin from build/x86asm elfbin/ ... executables for ELF/Linux from build/elfobj elfobj/ ... object files for ELF/Linux from build/x86asm x86asm/ ... x86 assembly from PL/0 source code under pl0 lib/ ... I/O routine cygobj/ ... asm_io.o, linked with build/cygobj elfobj/ ... asm_io.o, linked with build/elfobj x86asm/ asm_io.asm ... included by build/x86asm asm_io.inc pl0/ ... PL/0 example code factorial.pl0 ... factorial using recursion gcd.pl0 ... greatest common divisor minimal.pl0 ... minimal legal PL/0 program square.pl0 uninitialized.pl0 ... an example with legal syntax but wrong semantics src/ ... Python implementation pypl0_astgen.py ... AST generator pypl0_astnodes.py ... AST nodes definition pypl0_interp.py ... AST interpreter pypl0_main.py ... *ENTRY POINT* of the system pypl0_parser.py pypl0_scanner.py pypl0_utils.py ... pretty print the parse tree and the AST pypl0_x86codegen.py ... x86 assembly generator pypl0_x86codegentpl.py ... string templates used by pypl0_x86codegen unittest/ ... UT code, to be added... Makefile.cygwin ... Makefile for Cygwin Makefile.elf ... Makefile for ELF/Linux Makefile.in ... included Makefile README ... this documentationJust grab everything by svn checkout http://pypl0.googlecode.com/svn/trunk/ pypl0-read-only. Main functionalities are centralized in src/pypl0_main.py, Run python src/pypl0_main.py -hfor help. Python 2.5 or higher is needed. The makefiles are used to facilitate building native executables from PL/0 source code. Currently Cygwin and Linux/ELF formats are supported. Just rename the right makefile to "Makefile" or use the "-f" option to designate the right one (see below), and type "make" in the command line under the top directory. Note that you need Python 2.5 or higher, NASM 2.07 (http://nasm.us, NASM 2.00 should suffice but not tested) and GCC 4.3 for the makefile to work. The PL/0 source code can be either interpreted, or compiled to native code to be executed. For example, on a Linux box python src/pypl0_main.py interp pl0/factorial.pl0and make -f Makefile.elf build/elfbin/factorial.pl0yield the same result. [Less]
Created 3 months ago.