Irishman

Pub Likes Pub Points GitHub code size in bytes GitHub contributors GitHub top language

🇮🇪 A generic programming language interpreter, linter, formatter, and all that jazz, written in Dart.

Installation

To install this package as a library in Dart, just run the following command in the directory of your project.

With Dart

dart pub add irishman

With Flutter

flutter pub add irishman

How does it work?

To get redirected to the documentation for the project, click here.

The whole idea of irishman is to emulate other programming languages in a lightweight manner. Currently, a majority of code execution platforms have a number of language runtimes installed on their machines, and they simply run the code. That is not how irishman works. Irishman works by defining a schema for all programming languages. From there, each language can be referenced and code can be run within it using the irishman emulator. Irishman gives you the keys at every step. So, if you would like to read through the AST, list of tokens, or redefine a languages standard library, you are given full access to do so. On top of being a runtime, Irishman has several utility features such as generating standard library documentation, linting code, building syntax highlighting schemas, etc.

Features

  • X Token parsing from text
  • X Syntax highlighting from language definition
  • AST parsing from token list
  • Running of AST as code
  • Define standard libraries for each language
  • Automatically generate documentation from code
  • Convert code into an explaination

Libraries

irishman
This is a library for understanding code based on an analysis of the underlying language. You can decode the tokens, form an AST, or just run the code in an virtual machine emulator.