All Projects → ltcmelo → Uaiso

ltcmelo / Uaiso

Licence: other
A multi-language parsing infrastructure with an unified AST

Programming Languages

python
139335 projects - #7 most used programming language
golang
3204 projects
haskell
3896 projects
cplusplus
227 projects

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
kolasu
Kotlin Language Support – AST Library
Stars: ✭ 45 (-47.67%)
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
Estree
The ESTree Spec
Stars: ✭ 3,867 (+4396.51%)
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
inmemantlr
ANTLR as a libray for JVM based languages
Stars: ✭ 87 (+1.16%)
Mutual labels:  parsing, ast
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
Yacep
yet another csharp expression parser
Stars: ✭ 107 (+24.42%)
Mutual labels:  ast, parsing
stack-editor
[Deprecated, prefer calcit-editor]
Stars: ✭ 93 (+8.14%)
Mutual labels:  ide, ast
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].