JSPM

  • Created
  • Published
  • Downloads 49241
  • Score
    100M100P100Q161634F
  • License MIT

Lezer-based FEEL grammar

Package Exports

  • lezer-feel

Readme

lezer-feel

CI

This is a DMN FEEL grammar for the Lezer parser system.

Usage

Parse FEEL to a Tree:

import {
  parser
} from 'lezer-feel';

// parse <Expressions>
parser.parse('foo > 1');

Choose Dialect

Use Expressions or UnaryTests as a top node depending on which FEEL dialect you intend to parse:

import {
  parser
} from 'lezer-feel';

const unaryParser = parser.configure({
  top: 'UnaryTests'
})

// parse <UnaryTests>
unaryParser.parse('> 100');

Provide Context

Override the default context tracker to enable context sensitive parsing based on inputs:

import {
  parser,
  trackVariables
} from 'lezer-feel';

const contextTracker = trackVariables({
  'if foo then bar': 1
});

const contextualParser = parser.configure({
  contextTracker
});

// recognizes <if foo then bar> as a <VariableName>
contextualParser.parse('if foo then bar');
  • feelin - Interpreter for the FEEL language
  • feel-playground - Playground to tryout and learn the FEEL language

License

The code is licensed under an MIT license.