Displaying 1 to 20 from 20 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.

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.

fall

  •    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.

Reduce

  •    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.

go-tree-sitter - Golang bindings for tree-sitter https://github.com/tree-sitter/tree-sitter

  •    Go

If your source code changes, you can update the syntax tree. This will take less time than the first parse.

myna-parser - Myna Parsing Library

  •    Javascript

Myna is an efficient and easy to use parsing library for JavaScript written using TypeScript 2.0 which targets ECMAScript 5.1. Unlike several popular parsing libraries (e.g. Jison, PEG.js, nearley, and ANTLR) Myna is an API, not a code generation tool, which makes it easier for programmers to write, debug, and maintain their parsing algorithms. This makes Myna closest to Parsimmon and Chevrotain. Myna has no dependencies, you can just download myna.js and start using it immediately.

decent-messup - Mess up js code in a different way

  •    Javascript

Use it before babel and uglifying. Using it with uglifier is highly recommended. The count of string variables in each function scope.

bright - Blazing fast parser for BrightScript that gives you ESTree like AST

  •    TypeScript

Blazing fast parser for BrightScript that gives you ESTree like AST. Sort of. The motivation behind this project is to build solid platform and base for other development tools in Roku world. This parser takes .brs files and builds AST in form of ESTree like structure that could be used with ESLint, Prettier or other tools for linting, refactoring and formatting. While there is no official metrics yet, during development it continuesly got tested on ~800 random open source project files from Github.

DelphiAST - Abstract syntax tree builder for Delphi

  •    Pascal

With DelphiAST you can take real Delphi code and get an abstract syntax tree. One unit at time and without a symbol table though. FreePascal and Lazarus compatible.