@joshmarinacci/ometajs v3.3.7
____ __ ___ __ _______
/ __ \/ |/ /__ / /_____ _ / / ___/
/ / / / /|_/ / _ \/ __/ __ `/_ / /\__ \
/ /_/ / / / / __/ /_/ /_/ / /_/ /___/ /
\____/_/ /_/\___/\__/\__,_/\____//____/OMetaJS 
OMetaJS is a JavaScript implementation of OMeta, an object-oriented language for pattern matching.
This is a node.js module for developing and using such pattern matching grammars.
Installation
Installing npm (node package manager)
$ curl http://npmjs.org/install.sh | shInstalling ometajs
$ [sudo] npm install ometajs -gNote: If you are using ometajs programmatically you should not install it globally.
$ cd /path/to/your/project
$ npm install ometajsUsage
Command line
$ ometajs2js --help
Usage:
ometajs2js [OPTIONS] [ARGS]
Options:
-h, --help : Help
-v, --version : Version
-i INPUT, --input=INPUT : Input file (default: stdin)
-o OUTPUT, --output=OUTPUT : Output file (default: stdout)
--root=ROOT : Path to root module (default: ometajs)ometajs2js will take input *.ometajs file and produce a CommonJS-
compatible javascript file.
You may also require('*.ometajs') files directly without compilation.
(OMetaJS is patching require.extensions as CoffeeScript does).
Usage as CommonJS module
var ometajs = require('ometajs');
var ast = ometajs.grammars.BSJSParser.matchAll('var x = 1', 'topLevel'),
code = ometajs.grammars.BSJSTranslator.matchAll([ast], 'trans');Example grammar
ometa Simple {
top = [#simple] -> 'ok'
}More information about OMetaJS syntax.
Use cases
Quickly prototype and buildyour own parser/language. Process/traverse complex AST.
Some projects that are using OMetaJS:
More information
To study OMetaJS or ask questions about its core you can reach out to the original repository author Alessandro Warth or me.
Here is the documented code.
Contributors
10 years ago