module.exports = function(jsss) {
  var _ = require('underscore');
  var esprima = require('esprima');
  var escodegen = require('escodegen');
  var syntax = esprima.parse(jsss);

  function getLeftMember(obj) {
    if (obj.type !== 'ExpressionStatement') {
      return void 0;
    }

    if (obj.expression.type !== 'AssignmentExpression') {
      return void 0;
    }
    return obj.expression.left;
  }

  var obj =  _.reduce(syntax.body, function(memo, value) {
    if (_.isUndefined(value)) return memo;
    var left = getLeftMember(value);
    if (_.isUndefined(left)) return memo;
    memo.push(left);
    return memo;
  }, []);

  console.log(JSON.stringify(obj, 2, 2));
};

@@ -66,23 +66,23 @@
 ;%0A  var 
-esprima
+Reflect
  = requi
@@ -89,554 +89,666 @@
 re('
-esprima');%0A  var escodegen = require('escodegen');%0A  var syntax = esprima.parse(jsss);%0A%0A  function getLeftMember(obj) %7B%0A    if (obj.type !== 'ExpressionStatement') %7B%0A      return void 0
+harmony-reflect');%0A  var tags = classes = ids = %7B%7D;%0A  var handler = Reflect;%0A  var get = Reflect.get;%0A  var set = Reflect.set;%0A  handler.get = function (target, name, receiver) %7B%0A    if (name in receiver === false) %7B%0A      if (name !== 'inspect') %7B%0A        receiver%5Bname%5D = %7B%7D
 ;%0A    
-%7D%0A%0A
     
-if (obj.expression.type !== 'AssignmentExpression') %7B%0A      return void 0;%0A    %7D%0A    return obj.expression.left
+target%5Bname%5D = %7B%7D;%0A      %7D%0A    %7D%0A    return get(target, name, receiver)
 ;%0A  %7D
-%0A%0A  var obj =  _.reduce(syntax.body, function(memo, value) %7B%0A    if (_.isUndefined(value)) return memo;%0A    var left = getLeftMember(value);%0A    if (_.isUndefined(left)) return memo;%0A    memo.push(left);%0A    return memo;%0A  %7D, %5B%5D
+;%0A  handler.set = function(target, name, value, receiver) %7B%0A    if (name in receiver === false) %7B%0A      target%5Bname%5D = %7B%7D;%0A    %7D%0A    return set(target, name, value, receiver);%0A  %7D%0A%0A  tags = new Proxy(%7B%7D, handler),%0A  classes = new Proxy(%7B%7D, handler),%0A  ids = new Proxy(%7B%7D, handler);%0A  eval(jsss
 );%0A
-%0A
   co
@@ -761,33 +761,15 @@
 log(
-JSON.stringify(obj, 2, 2)
+classes
 );%0A%7D

Update parser