mochiscript 0.4.0.pre14 → 0.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -252,6 +252,10 @@ var TOKENS = [
252
252
 
253
253
  [ "STATIC", "static\\b" ],
254
254
  [ "MODULE", "module\\b", 'ModuleParser' ],
255
+
256
+ [ "EXPORT", "export\\s+class\\b", 'ClassParser' ],
257
+ [ "PUBLIC", "public\\s+class\\b", 'ClassParser' ],
258
+
255
259
  [ "CLASS", "class\\b", 'ClassParser' ],
256
260
  [ "FUNCTION", "function\\b" ],
257
261
  [ "INCLUDE", "include\\b" ],
@@ -453,7 +457,7 @@ JS2.Class.extend('RootParser', function(KLASS, OO){
453
457
  OO.addMember("toString",function () {
454
458
  var ret = [];
455
459
  for(var _i1=0,_c1=this.out,_l1=_c1.length,ele;(ele=_c1[_i1])||(_i1<_l1);_i1++){
456
- ret.push(ele.toString());
460
+ ret.push(ele === undefined ? '' : ele.toString());
457
461
  }
458
462
  return ret.join("");
459
463
  });
@@ -468,6 +472,11 @@ JS2.Class.extend('RootParser', function(KLASS, OO){
468
472
  var ret = [ space + (this._TYPE || 'NODE') ];
469
473
  var generic = [];
470
474
  for(var _i1=0,_c1=this.out,_l1=_c1.length,ele;(ele=_c1[_i1])||(_i1<_l1);_i1++){
475
+ if (ele === undefined) {
476
+ ret.push(space + " UNDEFINED!");
477
+ continue;
478
+ }
479
+
471
480
  if (ele.pp) {
472
481
  if (generic.length) {
473
482
  ret.push(space + " TOKENS:" + JSON.stringify(generic.join('')));
@@ -511,24 +520,22 @@ var RootParser = $c.RootParser;
511
520
  RootParser.extend('ClassParser', function(KLASS, OO){
512
521
  // private closure
513
522
 
514
- var REGEX = Tokens.regex("<CLASS> <CLASSNAME><LCURLY>");
515
- var EXTENDS = Tokens.regex("<CLASS> <CLASSNAME><EXTENDS><CLASSNAME><LCURLY>");
523
+ var REGEX = Tokens.regex("(?:<EXPORT>|<PUBLIC>|<CLASS>) <CLASSNAME><LCURLY>");
524
+ var EXTENDS = Tokens.regex("(?:<EXPORT>|<PUBLIC>|<CLASS>) <CLASSNAME><EXTENDS><CLASSNAME><LCURLY>");
516
525
 
517
526
 
518
527
  OO.addMember("parse",function (tokens) {
519
528
  var m = tokens.match(REGEX) || tokens.match(EXTENDS);
520
- var name = m[2];
521
- var extending = m[4] || "$m.Class";
529
+ var name = m[4];
530
+ var extending = m[6] || "$m.Class";
522
531
 
523
532
  tokens.consume(m[0].length-1);
524
533
 
525
534
  var content = new $c.ClassContentParser();
526
535
  content.parse(tokens);
527
536
 
528
- var behind = tokens.lookback(7);
529
- var isPublic = ($m.PLATFORM == 'node' && behind.match(/public$/)) ? "\nexports." + name + '=' + name + ';' : '';
530
- var isExports = ($m.PLATFORM == 'node' && behind == 'export') ? "\nmodule.exports." + name + '=' + name + ';' : '';
531
-
537
+ var isPublic = ($m.PLATFORM == 'node' && m[2] == 'public') ? "\nexports." + name + '=' + name + ';' : '';
538
+ var isExports = ($m.PLATFORM == 'node' && m[1] == 'export') ? "\nmodule.exports." + name + '=' + name + ';' : '';
532
539
 
533
540
  this.out = [ "var ", name, " = " + extending + ".extend(function(KLASS, OO)", content, ");", isPublic, isExports ];
534
541
  });
data/lib/mochiscript.rb CHANGED
@@ -1,5 +1,5 @@
1
1
  module Mochiscript
2
- VERSION = "0.4.0-pre14".sub("-", '.')
2
+ VERSION = "0.4.0".sub("-", '.')
3
3
  end
4
4
 
5
5
  require File.dirname(__FILE__) + '/mochiscript/core'
metadata CHANGED
@@ -1,8 +1,8 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: mochiscript
3
3
  version: !ruby/object:Gem::Version
4
- prerelease: 6
5
- version: 0.4.0.pre14
4
+ prerelease:
5
+ version: 0.4.0
6
6
  platform: ruby
7
7
  authors:
8
8
  - Jeff Su
@@ -10,7 +10,7 @@ autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
12
 
13
- date: 2011-11-01 00:00:00 Z
13
+ date: 2011-11-02 00:00:00 Z
14
14
  dependencies:
15
15
  - !ruby/object:Gem::Dependency
16
16
  name: therubyracer
@@ -69,9 +69,9 @@ required_ruby_version: !ruby/object:Gem::Requirement
69
69
  required_rubygems_version: !ruby/object:Gem::Requirement
70
70
  none: false
71
71
  requirements:
72
- - - ">"
72
+ - - ">="
73
73
  - !ruby/object:Gem::Version
74
- version: 1.3.1
74
+ version: "0"
75
75
  requirements: []
76
76
 
77
77
  rubyforge_project: mochiscript