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-beta1-py2.5.zip (215.1 kB view details)

Uploaded Source

EasyExtend-3.0-beta1-py2.5.tgz (180.9 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-beta1.win32-py2.5.exe (326.6 kB view details)

Uploaded Source

File details

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

File metadata

File hashes

Hashes for EasyExtend-3.0-beta1-py2.5.zip
Algorithm Hash digest
SHA256 c00c433616da933cf9f20c1476bc75aaf6b955061571c79ca24ebd3c758a91c8
MD5 71e42d2d320adeff0210f992c4f58e85
BLAKE2b-256 69e4c703bc5e20ee6537ba851a87d94d0a5ad1db0a8c1aa3f53f3164d0ccc394

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for EasyExtend-3.0-beta1-py2.5.tgz
Algorithm Hash digest
SHA256 c9fb1220d31a692ce293143ef84b3b38b3f45df9f811ab3f3a602cdc26e60a5e
MD5 4f48831d408c0f7649c160587c5e9d25
BLAKE2b-256 faaa3d1fac131146bf60d8d1116cdd90265d56bc94f9259fddb31bed77b8ce11

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for EasyExtend-3.0-beta1.win32-py2.5.exe
Algorithm Hash digest
SHA256 0a62f60830ee34d1e0703f15040dbd98b74e76b75092fe3d48170f4eb5f5f3bd
MD5 04184971edb35f0c2aa3009ef6e1c604
BLAKE2b-256 78c01e610a061cae1b5c5c324ddf9f060118400fffadc149de85a89e3cae379a

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