diff --git a/src/js/development/block.js b/src/js/development/block.js index 0377649..39a4c59 100644 --- a/src/js/development/block.js +++ b/src/js/development/block.js @@ -8,7 +8,7 @@ this.init.apply(this, arguments); } }; - Block.prototype = new Expression();; + Block.prototype = new Expression(); Block.prototype.block = function () { var _this = this; var dst_tmpl; diff --git a/src/js/development/class.js b/src/js/development/class.js index c14f0e8..b32c5be 100644 --- a/src/js/development/class.js +++ b/src/js/development/class.js @@ -10,7 +10,7 @@ this.init.apply(this, arguments); } }; - Class.prototype = new Block();; + Class.prototype = new Block(); Class.prototype.init = function () { var _this = this; _this.instanceVariables = {}; @@ -19,17 +19,16 @@ Class.prototype.classHeader = function () { var _this = this; var dst_tmpl; - dst_tmpl = "var %className%;\n%className% = function () { %variableInitialization%if (this.init) { this.init.apply(this, arguments); } };\n%className%.prototype = new %superClass%()"; + dst_tmpl = "%className% = function () { %variableInitialization%if (this.init) { this.init.apply(this, arguments); } };\n%className%.prototype = new %superClass%()"; return _this.cacheaParser("classHeader", function () { var className, superClass, variables, v_init; - _this.optional(function () { - return _this.chr("+"); - }); - superClass = _this.variable(); + className = _this.variable(); _this.skipSpace(); - _this.string("subclass:"); + _this.assignmentArrow(); + _this.skipSpace(); + superClass = _this.variable(); _this.skipSpace(); - className = _this.variablableStringContent(); + _this.string("subclass"); _this.skipSpace(); _this.string("variables:"); _this.skipSpace(); diff --git a/src/js/development/expression.js b/src/js/development/expression.js index a9a68d7..ebe6551 100644 --- a/src/js/development/expression.js +++ b/src/js/development/expression.js @@ -10,7 +10,7 @@ this.init.apply(this, arguments); } }; - Expression.prototype = new LittleParser();; + Expression.prototype = new LittleParser(); Expression.prototype.init = function () { var _this = this; return _this.bundledMethods = []; diff --git a/src/js/development/littleparser.js b/src/js/development/littleparser.js index 6b4f434..47589ad 100644 --- a/src/js/development/littleparser.js +++ b/src/js/development/littleparser.js @@ -8,7 +8,7 @@ this.init.apply(this, arguments); } }; - LittleParser.prototype = new Packrat();; + LittleParser.prototype = new Packrat(); LittleParser.prototype.space = function () { var _this = this; return _this.cacheaParser("space", function () { diff --git a/src/js/development/littlesmallscript.js b/src/js/development/littlesmallscript.js index 4d12ebf..1170662 100644 --- a/src/js/development/littlesmallscript.js +++ b/src/js/development/littlesmallscript.js @@ -12,7 +12,7 @@ this.init.apply(this, arguments); } }; - LittleSmallscript.prototype = new Statement();; + LittleSmallscript.prototype = new Statement(); LittleSmallscript.prototype.initWithInputandOptions = function (text, opt) { var _this = this; _this.input = text; diff --git a/src/js/development/optimization.js b/src/js/development/optimization.js index 2c3af29..731d458 100644 --- a/src/js/development/optimization.js +++ b/src/js/development/optimization.js @@ -46,7 +46,9 @@ }), v.variable); })(); } catch (err) { - _ret = function () {}(err); + _ret = function () { + return null; + }(err); } return _ret; })(); diff --git a/src/js/development/packrat.js b/src/js/development/packrat.js index 60d98ee..39c3152 100644 --- a/src/js/development/packrat.js +++ b/src/js/development/packrat.js @@ -22,7 +22,7 @@ this.init.apply(this, arguments); } }; - Packrat.prototype = new Object();; + Packrat.prototype = new Object(); Packrat.prototype.init = function (text) { var _this = this; _this.input = text; @@ -54,7 +54,9 @@ fn = (fn !== undefined) ? ((function () { return fn; }))() : (function () { - return function () {}; + return function () { + return null; + }; })(); c = {}; (_this.logNest += 1); @@ -207,7 +209,9 @@ return f = false; })(); } catch (err) { - _ret = function () {}(err); + _ret = function () { + return null; + }(err); } return _ret; })(); @@ -231,7 +235,9 @@ return f = true; })(); } catch (err) { - _ret = function () {}(err); + _ret = function () { + return null; + }(err); } return _ret; })(); diff --git a/src/js/development/statement.js b/src/js/development/statement.js index 5f97668..69e4185 100644 --- a/src/js/development/statement.js +++ b/src/js/development/statement.js @@ -8,7 +8,7 @@ this.init.apply(this, arguments); } }; - Statement.prototype = new Class();; + Statement.prototype = new Class(); Statement.prototype.statement = function () { var _this = this; return _this.cacheaParser("statement", function () { @@ -26,9 +26,7 @@ var a; a = _this.statementable(); _this.skipSpace(); - _this.optional(function () { - return _this.chr("."); - }); + _this.chr("."); _this.skipSpace(); _this.followedBy(function () { return _this.statementable(); diff --git a/src/main.js b/src/main.js index 8aebd68..81f68a6 100644 --- a/src/main.js +++ b/src/main.js @@ -5,7 +5,7 @@ var LittleSmallscript, fs, optimist, argv, readline, rl, help; - LittleSmallscript = require("./js/production/littlesmallscript").LittleSmallscript; + LittleSmallscript = require("./js/production/littlesmallscript"); fs = require('fs'); diff --git a/src/st/class.st b/src/st/class.st index fe56c35..ff31c22 100644 --- a/src/st/class.st +++ b/src/st/class.st @@ -14,20 +14,20 @@ init instanceVariables := #{}. currentClass := null !. -"Animal subclass: #Snake variables: #(#name #colour #awake)" +"Snake := Animal subclass variables: #(#name #colour)" !Class classHeader | dst_tmpl | dst_tmpl := -'var %className%; -%className% = function () { %variableInitialization%if (this.init) { this.init.apply(this, arguments); } }; +'%className% = function () { %variableInitialization%if (this.init) { this.init.apply(this, arguments); } }; %className%.prototype = new %superClass%()'. self cache: #classHeader aParser: [| className superClass variables v_init | - self optional: [self chr: '+']. "LSt compatibility" - superClass := self variable. + className := self variable. self skipSpace. - self string: 'subclass:'. + self assignmentArrow. + self skipSpace. + superClass := self variable. self skipSpace. - className := self variablableStringContent. + self string: 'subclass'. self skipSpace. self string: 'variables:'. self skipSpace.