ometa-js v1.5.4
____ __ ___ __ _______
/ __ \/ |/ /__ / /_____ _ / / ___/
/ / / / /|_/ / _ \/ __/ __ `/_ / /\__ \
/ /_/ / / / / __/ /_/ /_/ / /_/ /___/ /
\____/_/ /_/\___/\__/\__,_/\____//____/
Description
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 ometajs
$ [sudo] npm install ometa-js -g
Note: If you are using ometajs programatically you should not install it globally.
$ cd /path/to/your/project
$ npm install ometa-js
Usage
Command line
$ ometajs2js --help
Usage:
ometajs2js [OPTIONS] [ARGS]
Options:
-h, --help : Help
-v, --version : Version
-c, --commonjs : Output as commonjs module
-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/AMD/Browser
compatible javascript file.
Also you may require('*.ometajs')
files directly without compilation.
(OmetaJS is patching require.extensions
as CoffeeScript does).
Using as CommonJS module
var ometajs = require('ometa-js');
var ast = ometajs.BSJSParser.matchAll('var x = 1', 'topLevel'),
code = ometajs.BSJSTranslator.matchAll([ast], 'trans');
// Or:
var code = ometajs.compile('var x = 1');
Example
Example grammar
ometa Simple {
top = [#simple] -> 'ok'
}
More information about OmetaJS syntax.
Use cases
Fast prototyping and building your own parser/language. Processing/traversing complex AST.
Some projects that are using this:
More information
To study OmetaJS or ask questions about it's core you can try to reach out original repository author Alessandro Warth or me.
Here is documented code.
Contributors
3 years ago
6 years ago
6 years ago
6 years ago
6 years ago
8 years ago
8 years ago
8 years ago
8 years ago
9 years ago
9 years ago
9 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
10 years ago
11 years ago
11 years ago
11 years ago
11 years ago
11 years ago