⚠️ ⚠️ ⚠️ DEPRECATED
parsejevko.js is now deprecated in favor of jevko.js
⚠️ ⚠️ ⚠️ DEPRECATED
A simple parser for Jevko in JavaScript.
Installation
Node.js
npm install jevko/parsejevko.js#semver:0.1.6
Deno and the browser
Import from jsDelivr:
import {parseJevko} from 'https://cdn.jsdelivr.net/gh/jevko/parsejevko.js@v0.1.6/mod.js'
Quickstart
import {parseJevko} from 'https://cdn.jsdelivr.net/gh/jevko/parsejevko.js@v0.1.6/mod.js' parseJevko(`hello [world]`) // -> { // "subjevkos": [ // { // "prefix": "hello ", // "jevko": { // "subjevkos": [], // "suffix": "world" // } // } // ], // "suffix": "" // }
parseJevko
parseJevko takes a string which must conform to the Standard Jevko Grammar and returns a parse tree for it.
Standard Jevko Grammar
This is the Standard Jevko Grammar in ABNF:
; start symbol, main rule #1 Jevko = *Subjevko Suffix ; main rule #2, mutually recursive with #1 Subjevko = Prefix Opener Jevko Closer ; delimiters Delimiter = Opener / Closer / Escaper Opener = %x5b ; left square bracket Closer = %x5d ; right square bracket Escaper = %x60 ; grave accent ; aliases Suffix = Text Prefix = Text ; text Text = *Symbol Symbol = Digraph / Character Digraph = Escaper Delimiter ; Character is any code point which is not a Delimiter Character = %x0-5a / %x5c / %x5e-5f / %x61-10ffff
For details, see specifications.