1.3.0 • Published 6 years ago

@adrianhelvik/syntax v1.3.0

Weekly downloads
-
License
MIT
Repository
-
Last release
6 years ago

@adrianhelvik/syntax

Installation

npm i --save @adrianhelvik/syntax
yarn add @adrianhelvik/syntax

Usage

const syntax = {
  lex: [
    ['whitespace', /^\s+/, 'ignore'],
    ['keyword', /^(let)/],
    ['symbol', /^[()=]/],
    ['ident', /^[a-zA-Z][a-zA-Z0-9]*/],
    ['number', /^[0-9]+/],
  ],
  parse: {
    main: ['either', 'many', [
      'assignment',
      'funcCall',
      'varDecl',
    ]],
    funcCall: ['sequence', [
      'ident',
      'symbol:(',
      'symbol:)',
    ]],
    assignment: ['sequence', [
      'keyword:let',
      'symbol:=',
      'expression',
    ]],
    expression: ['either', [
      'number',
      'ident',
    ]]
  }
}
const source = `
let i = 0

while (i < 10)
  i = increment(i)

console.log(i)
`
1.3.0

6 years ago

1.2.1

6 years ago

1.2.0

6 years ago

1.1.0

6 years ago

1.0.1

6 years ago

1.0.0

6 years ago