0.1.0 • Published 1 year ago

langkit v0.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
1 year ago

langkit

A compact and expressive DSL and expression interpreter toolkit

Install

$ npm install langkit

Usage

import { createLexer, createParser } from 'langkit';

const calcLexer = createLexer({
  plus: /\+/,
  number: /\d+(?:\.\d+)?/,
  space: {
    pattern: /\s+/,
    skip: true,
  },
});

const calculate = createParser(calcLexer, (h) => {
  return h.fromTokens(['number', 'plus', 'number'], ([left, _, right]) => {
    return Number(left.value) + Number(right.value);
  });
});

console.log(calculate('5 + 45'));
// => 50

examples