Skip to main content
Module

x/ohm_js/index.d.ts

A library and language for building parsers, interpreters, compilers, etc.
Latest
import * as ohmJs from "https://deno.land/x/ohm_js@v17.1.0/index.d.ts";

Variables

Constructors for parsing expressions (aka pexprs). (Except for any and end, which are not constructors but singleton instances.)

Functions

Instantiate the Grammar defined by source. If specified, namespace is the Namespace to use when resolving external references in the grammar.

Create a new Namespace containing Grammar instances for all of the grammars defined in source. If namespace is specified, it will be the prototype of the new Namespace.

Interfaces

An ActionDict is a dictionary of Actions indexed by rule names.

An ActionDict is a dictionary of Actions indexed by rule names. This is a "pure" type that only contains keys for built-in rules.

An Ohm Grammar.

An Interval represents a subset of a string.

Matcher objects are used to incrementally match a changing input against a Grammar, e.g. in an editor or IDE.

Result of Grammar#match

A Namespace is a dictionary of Grammars

A node in the parse tree, passed to Action functions.

A Semantics is a family of operations and/or attributes for a given grammar. Each operation/attribute has a unique name within the Semantics. A grammar may have any number of Semantics instances associated with it -- this means that the clients of a grammar (even in the same program) never have to worry about operation/attribute name clashes.

Type Aliases

An Action is a function from ParseNodes, called with the children nodes of the node it is being executed on. The current node is passed as a dynamic this, requiring an ES5 anonymous function with this typed as any.