A library and language for building parsers, interpreters, compilers, etc.
Browser bundles: ohm.js • ohm.min.js
extractExamples
to the extras
module, which can extract example inputs — written with a special comment syntax — from grammar definitions.Browser bundles: ohm.js • ohm.min.js
_buildGrammar
back to exports. (It's a private API used by the Ohm Editor.)ohm.version
reports the correct value. Due to a change in the build scripts, it was stuck at '17.0.0'.Browser bundles: ohm.js • ohm.min.js
any
now consumes an entire code point (i.e., a full Unicode character), not just a single, 16-bit code unit.namespace
, extendNamespace
) have been removed. (These were always optional.)ohm-js/extras
.BaseActionDict<T>
, a new supertype of ActionDict<T>
.ohm.util
is removed from the public API. getLineAndColumn
and getLineAndColumn
have been moved into the extras
module.toAST
for the built-in list rules (ListOf
and friends). Both the syntactic (ListOf
, ...) and lexical versions (listOf
, ...) are now represented as arrays, with the separators discarded. Previously, the syntactic versions were represented by arrays, but with separators included, and the lexical versions were represented as strings (just like other lexical rules).toString
on a non-root nodegrammarFromScriptElement
and grammarsFromScriptElements
functions have been entirely removed.asIteration
operationInterval.getLineAndColumn
primitiveValue
property of nodes, which was deprecated in Ohm v16, has now been completely removed.Browser bundles: ohm.js • ohm.min.js
inputStream
property; but they do have a sourceString
property.Browser bundles: ohm.js • ohm.min.js
Interval.getLineAndColumn()
asIteration
operationBrowser bundles: ohm.js • ohm.min.js
Node.isOptional()
Browser bundles: ohm.js • ohm.min.js
...
) not working in the Ohm EditorBrowser bundles: ohm.js • ohm.min.js