ltcmelo / Uaiso
Licence: other
A multi-language parsing infrastructure with an unified AST
Stars: ✭ 86
Programming Languages
Projects that are alternatives of or similar to Uaiso
markright
A customizable markdown parser in Elixir: pure pattern matching.
Stars: ✭ 14 (-83.72%)
Mutual labels: parsing, ast
tree-hugger
A light-weight, extendable, high level, universal code parser built on top of tree-sitter
Stars: ✭ 96 (+11.63%)
Mutual labels: parsing, ast
Escaya
An blazing fast 100% spec compliant, incremental javascript parser written in Typescript
Stars: ✭ 217 (+152.33%)
Mutual labels: ast, parsing
codeparser
Parse Wolfram Language source code as abstract syntax trees (ASTs) or concrete syntax trees (CSTs)
Stars: ✭ 84 (-2.33%)
Mutual labels: parsing, ast
kataw
An 100% spec compliant ES2022 JavaScript toolchain
Stars: ✭ 303 (+252.33%)
Mutual labels: parsing, ast
Libdparse
Library for lexing and parsing D source code
Stars: ✭ 91 (+5.81%)
Mutual labels: ast, parsing
hxjsonast
Parse JSON into position-aware AST with Haxe!
Stars: ✭ 28 (-67.44%)
Mutual labels: parsing, ast
Down
Blazing fast Markdown / CommonMark rendering in Swift, built upon cmark.
Stars: ✭ 1,895 (+2103.49%)
Mutual labels: ast, parsing
Esprima
ECMAScript parsing infrastructure for multipurpose analysis
Stars: ✭ 6,391 (+7331.4%)
Mutual labels: ast, parsing
Graphql Go Tools
Tools to write high performance GraphQL applications using Go/Golang.
Stars: ✭ 96 (+11.63%)
Mutual labels: ast, parsing
cppcombinator
parser combinator and AST generator in c++17
Stars: ✭ 20 (-76.74%)
Mutual labels: parsing, ast
Rubberduck
Every programmer needs a rubberduck. COM add-in for the VBA & VB6 IDE (VBE).
Stars: ✭ 1,287 (+1396.51%)
Mutual labels: parsing, ide
node-typescript-parser
Parser for typescript (and javascript) files, that compiles those files and generates a human understandable AST.
Stars: ✭ 121 (+40.7%)
Mutual labels: parsing, ast
Meriyah
A 100% compliant, self-hosted javascript parser - https://meriyah.github.io/meriyah
Stars: ✭ 690 (+702.33%)
Mutual labels: ast, parsing
I Pascal
A free Object Pascal language plugin for IntelliJ IDEA
Stars: ✭ 85 (-1.16%)
Mutual labels: ast, ide
Uaiso
Uaiso is a parsing infrastructure that provides a unifying AST (Abstract Syntax Tree) and semantic services across programming languages. Ideally it can be used to:
- Produce code completion on IDEs/text editors
- Perform static analysis on programs
- Generate LLVM code (or any other)
Supported languages
Language | Version | Parser | AST | Semantics | Active | Demo |
---|---|---|---|---|---|---|
D | 2.0 | bison, GLR | partial | ok | no | D completion |
Go | 1.5+ | bison, GLR | complete | ok | yes | Go completion |
Haskell | 2010 | LL(k) | WIP | ? | yes | - |
Python | 2.x | LL(1) | complete | basic | yes | Overall intro |
Prerequisites
The source is written in standard C++. You should be able to build it anywhere, but I'm developing on Clang/OSX. Make sure to use --recursive to clone.
- Cmake
- Python
- Flex/Bison
- C++14 compiler
Obs: There's code relying on Unix-like paths, which I need to work on for Windows.
Plugins
Uaiso is a library. In order to use it within an IDE/text editor you need to write a plugin. There's an experimental one available for Qt Creator: https://github.com/ltcmelo/uaiso-plugins
Note that the project description data, including the texts, logos, images, and/or trademarks,
for each open source project belongs to its rightful owner.
If you wish to add or remove any projects, please contact us at [email protected].