Skip to main content

Preprocessor generator for Python

Project description

Preprocessor generator for Python

EasyExtend (EE) is a preprocessor generator and metaprogramming framework written in pure Python and integrated with CPython. The main purpose of EasyExtend is the creation of extension languages i.e. adding custom syntax and semantics to Python. EasyExtend comes out of the box as a single package with no dependecies other than those to Pythons standard library.

Parser generator

EasyExtend provides a powerful parser generator for top down parsers called Trail. Trail parsers are trace based, non-backtracking parsers with one token of lookahead but the capability of an LL(k) parsers for arbitary k. Trails nondeterministic finite automata (NFAs) are used for multiple tasks: most obviously for parsing but also for lexical analysis, parse tree validation and generation of parse tree builders.

Blank slate programming languages

Besides the main goal of providing a system for generating extensions languages, EasyExtend can also be used to build languages from the scratch targeting Pythons virtual machine.

Source inspection and manipulation

EasyExtend provides csttools which is a library for inspection, modification and synthesis of parse trees.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

EasyExtend-3.0-beta2-py2.5.zip (300.9 kB view details)

Uploaded Source

EasyExtend-3.0-beta2-py2.5.tgz (255.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

EasyExtend-3.0-beta2.win32-py2.5.exe (431.2 kB view details)

Uploaded Source

File details

Details for the file EasyExtend-3.0-beta2-py2.5.zip.

File metadata

File hashes

Hashes for EasyExtend-3.0-beta2-py2.5.zip
Algorithm Hash digest
SHA256 d9f747f1badcd7df084f355595807e3e5ec21943ba6255d1924bcb511e1b59ce
MD5 d8b4b274aa06e8aacc3aeecb117461c7
BLAKE2b-256 1f9f48eab7a669b8cd8a18a2c600992eebcfec091728dca1886b34da2838045a

See more details on using hashes here.

File details

Details for the file EasyExtend-3.0-beta2-py2.5.tgz.

File metadata

File hashes

Hashes for EasyExtend-3.0-beta2-py2.5.tgz
Algorithm Hash digest
SHA256 8f44d935de9431a728f21a467cde0edaaf1f067a883389dd722a352147ac75d2
MD5 2d5f0197f9b362677e79960f978962e4
BLAKE2b-256 3c0b2373968a4151ac7b626c96b049fea13256273a75d883aebb9c82765105dc

See more details on using hashes here.

File details

Details for the file EasyExtend-3.0-beta2.win32-py2.5.exe.

File metadata

File hashes

Hashes for EasyExtend-3.0-beta2.win32-py2.5.exe
Algorithm Hash digest
SHA256 d204beb2ad583922aca64cc1bcf616fedf924484f84704b0b8bc92938e960967
MD5 99529cc462563ecd9a6a896c04742b4a
BLAKE2b-256 fda4d1a63f8b385ed58a9e7f03488c4b4590f7161997217af667efcb80e26e5e

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page