Displaying 1 to 20 from 54 results

CppSharp - Tools and libraries to glue C/C++ APIs to high-level languages

  •    CSharp

CppSharp is a tool and set of libraries which allows programmers to use C/C++ libraries with high-level programming languages (such as C#).It is a tool that takes C/C++ header and library files and generates the necessary glue to surface the native API as a managed API. Such an API can be used to consume an existing native library in your high-level code or add scripting support to a native codebase.

unified - interface for parsing, inspecting, transforming, and serializing content through syntax trees

  •    Javascript

unified is an interface for processing text using syntax trees. It’s what powers remark (Markdown), retext (natural language), and rehype (HTML), and allows for processing between formats. unified enables new exciting projects like Gatsby to pull in Markdown, MDX to embed JSX, and Prettier to format it. It’s used in about 500k projects on GitHub and has about 25m downloads each month on npm: you’re probably using it. Some notable users are Node.js, Vercel, Netlify, GitHub, Mozilla, WordPress, Adobe, Facebook, Google, and many more.

Tree-sitter - An incremental parsing system for programmings tools

  •    Rust

Tree-sitter is a parser generator tool and an incremental parsing library. It can build a concrete syntax tree for a source file and efficiently update the syntax tree as the source file is edited. It is robust and parse any programming language. It is enough to provide useful results even in the presence of syntax errors.

mdast - Markdown Abstract Syntax Tree format

  •    Javascript

Markdown Abstract Syntax Tree. mdast is a specification for representing Markdown in a syntax tree. It implements the unist spec. It can represent several flavours of Markdown, such as CommonMark and GitHub Flavored Markdown.

unist - Universal Syntax Tree used by @unifiedjs

  •    Javascript

Universal Syntax Tree. unist is a specification for syntax trees. It has a big ecosystem of utilities in JavaScript for working with these trees. It’s implemented by several other specifications.

hast - Hypertext Abstract Syntax Tree format

  •    Javascript

Hypertext Abstract Syntax Tree format. hast is a specification for representing HTML (and embedded SVG or MathML) as an abstract syntax tree. It implements the unist spec.

fast - Find in AST - Search for code directly in Abstract Syntax Tree with a flexible pattern

  •    Ruby

Fast is a "Find AST" tool to help you search in the code abstract syntax tree. Ruby allow us to do the same thing in a few ways then it's hard to check how the code is written.

Astview - Astview is a graphical viewer for abstract syntax trees

  •    Haskell

Astview (short for "abstract syntax tree view") is a little desktop program to be used by people that want to investigate syntax trees, e.g. students and lecturers in compiler construction courses. The program evolved as a case study in datatype-generic programming and building graphical user interfaces in Haskell. Astview is under continuous development. The sources can be found at Github.

FsSqlDom - Library for SQL parsing, AST manipulation and SQL generation in F#

  •    F#

It covers 100% of TSQL, because it leverages the existing TransactSql.ScriptDom C# library from Microsoft, and is able to convert losslessly* back and forth between Microsofts C# type hierarchy, and a new set of discriminated unions in F#.

parsers-compilers - Lexers, tokenizers, parsers, compilers, renderers, stringifiers


Returns: Token stream. A token stream is an array of "tokens", where each "token" is an object that contain details about a specific substring that was "captured", such as column and row, or line number and character position.

latex-parser - 📃 LaTeX parser for JavaScript (with TypeScript types)

  •    TypeScript

This is a library designed to build abstract syntax trees for LaTeX documents using JavaScript / TypeScript. This project only parses a subset of what can be considered "canonical" LaTeX. As I see it, a full LaTeX parser would be a complete port of the TeX code, and I am not crazy enough to attempt that. Of course, we can still make something that works most of the time. This approach is similar to KaTeX, a Javascript library which focuses on math typesetting. This library focuses more on parsing text mode.

genetic-programming - Symbolic regression solver, based on genetic programming methodology.

  •    Java

Symbolic regression solver, based on genetic programming methodology. In practice, on of the most generic problems - is reconstruction of original function, having the information about its values in some specific points.

calyx - A Ruby library for generating text with recursive template grammars.

  •    Ruby

Calyx provides a simple API for generating text with declarative recursive grammars. The best way to get started quickly is to install the gem and run the examples locally.

calcit-editor - A collabrative syntax tree editor of Clojure(Script).

  •    HTML

A collabrative syntax tree editor of Clojure(Script). Those options are also stored in the snapshot file calcit.edn.


  •    Rust

This is a work in progress hobby project. If you are looking for a production ready parser generator for Rust, consider pest, lalrpop or nom. If you are looking for a production grade IDE-ready parser generator, take a look at Grammar Kit or Papa Carlo. You might also find tree-sitter to be interesting. The ambitious goal is to create a parsing framework, suitable for tools interacting with the source code, such as editors, IDEs, refactoring tools or code formatters.

libdparse - Library for lexing and parsing D source code

  •    D

Library for lexing and parsing D source code. Online documentation is available here.


  •    Julia

The premise behind Reduce.jl is based on the idea that Symbol and Expr types can be translated into computer algebra rewrite commands and then automatically parsed back into Julia ASTs, essentially extending the Julia language into a fully programable symbolic AST rewrite environment. Additional packages that depend on Reduce.jl are maintained at JuliaReducePkg.

We have large collection of open source products. Follow the tags from Tag Cloud >>

Open source products are scattered around the web. Please provide information about the open source projects you own / you use. Add Projects.