compiler building using drawware

workhorse

Transpiler

combines parser+rewriter to transpile input

uses call-out to JavaScript code (Ohm-JS) (twice)

preprocess to tokenize words

grammar parser uses ohmjs

preprocess to escape whitespace in strings and comments

RWR (ReWRite)

uses ohmjs component a 2nd time + rwr.ohm grammar + rwr.rwr semantics to parse and transpile rewrite specifications