code: function Operation(name, formals, actionDict, builtInDefault) {
    this.name = name;
    this.formals = formals;
    this.actionDict = actionDict;
    this.builtInDefault = builtInDefault;
  }
docs: An Operation represents a function to be applied to a concrete syntax tree (CST) -- it's very similar to a Visitor (http://en.wikipedia.org/wiki/Visitor_pattern). An operation is executed by recursively walking the CST, and at each node, invoking the matching semantic action from `actionDict`. See `Operation.prototype.execute` for details of how a CST node's matching semantic action is found.