Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface GrammarOptions

example
var grammarOptions = {
    path: './grammars',
    engine: 'pegjs',
    asyncCompile: false,
    grammars: {
        ja: {ignore: true},
        de: {exclude: true},
        en: {engine: 'jscc', asyncCompile: true},

        //specifying JSON grammar files directly
        testing: {engine: 'jscc', file: path.resolve('./grammar-test/en/grammar.json')},
        testing2: {id: '!id warning!', engine: 'jison', file: path.resolve('./grammar-test/de/grammar.json_large-example')}
    }
};

Hierarchy

Index

Properties

Optional async

async: boolean

grammar-execution (during runtime) will be asynchronous in a WebWorker/thread

NOTE: invocations must always provide a callback, for async-exec grammars

example

mmir.semantic.interpret('this is my test phrase', function(result){ // do something with grammar execution result })

Optional asyncCompile

asyncCompile: boolean

if true, and thread-webworker is available, grammar will be compiled paralelized / in a separate thread

default

true

Optional engine

the Grammar engine that will be used to compile the executable grammar.

default

"jscc"

Optional exclude

exclude: boolean

if true, the corresponding grammar will be completely excluded, i.e. no executable grammar will be compiled from the corresponding JSON grammar

Optional grammars

grammars: {}

options for handling found or specified JSON grammars

Type declaration

Optional ignore

ignore: boolean

if true, the grammar will not be loaded (and registered) when the the app is initialized, i.e. needs to be "manually" loaded/initialized by app implementation and/or other mechanisms. If omitted or false, the grammar will be loaded on start-up of the app, and then will be available e.g. via mmir.semantic.interprest(<input phrase string>, <grammar-id>)

Optional initPhrase

initPhrase: string

An "initialization phrase" for the grammar, in case of async-exection: this phrase will be immediately interpreted, after grammar has been loaded for async-execution in the WebWorkers (for large grammars, this may reduce delays for subsequent calls, by fully initializing the grammar)

NOTE will have no effect, if option async is not true

Optional path

path: string

file path for searching (recursively) JSON grammars within languages-subdirectory: path/.../<grammar ID>/grammar.json

Optional strict

strict: boolean

set or disable strict-mode for generated JavaScript code

default

true

Generated using TypeDoc