Skip to content

terrario-js/terrario

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Aug 23, 2023
87c603a Β· Aug 23, 2023
Jul 23, 2023
Aug 6, 2022
Aug 19, 2023
Jul 23, 2023
Aug 19, 2023
Jul 29, 2023
Aug 19, 2023
Jul 30, 2023
Jul 29, 2023
Aug 20, 2023
Aug 19, 2023
Aug 23, 2023
Aug 20, 2023
Aug 20, 2023
Jul 21, 2023
Aug 20, 2023
Aug 20, 2023
Jul 29, 2023
Jul 29, 2023
Jul 29, 2023

Repository files navigation

Terrario

Test License: MIT

A refined, expressive parser combinator library. Try it out!

  • πŸ“ Minimal yet powerful APIs
  • πŸ–¨ Supports scannerless parsing and tokens parsing
  • βš™ Supports conditional control by state
  • ✨ Zero dependency

The Terrario is inspired by PEG.js, Parsimmon, etc.

Installation

npm i terrario

Documentation

See Website

Basic Example

import * as T from 'terrario';

// build a parser
const parser = T.alt([
  T.token('hello'),
  T.token('world'),
  T.token(' '),
]).many();

// parse the input string
const input = 'hello world';
const result = parser.parse(input);

console.log(result);
// => { success: true, value: [ 'hello', ' ', 'world' ], index: 11 }

Examples

License

MIT License