Skip to content
vic

jcoglan/canopy

A parser compiler for Java, JavaScript, Python, Ruby

jcoglan/canopy.json
{
"createdAt": "2010-04-12T21:29:35Z",
"defaultBranch": "main",
"description": "A parser compiler for Java, JavaScript, Python, Ruby",
"fullName": "jcoglan/canopy",
"homepage": "http://canopy.jcoglan.com",
"language": "JavaScript",
"name": "canopy",
"pushedAt": "2024-03-22T19:02:07Z",
"stargazersCount": 427,
"topics": [],
"updatedAt": "2025-09-04T08:36:25Z",
"url": "https://github.com/jcoglan/canopy"
}

Canopy is a parser compiler targeting Java, JavaScript, Python and Ruby. It takes a file describing a [parsing expression grammar][1] and compiles it into a parser module in the target language. The generated parsers have no runtime dependency on Canopy itself.

For usage documentation see [canopy.jcoglan.com][2].

See CONTRIBUTING.md for instructions for building the project.

[1] !: http://en.wikipedia.org/wiki/Parsing_expression_grammar [2] !: https://canopy.jcoglan.com