Skip to content

Commit

Permalink
Merge 1618b90 into de57f64
Browse files Browse the repository at this point in the history
  • Loading branch information
mohayonao committed Jul 4, 2014
2 parents de57f64 + 1618b90 commit 50f2865
Show file tree
Hide file tree
Showing 97 changed files with 403 additions and 335 deletions.
4 changes: 2 additions & 2 deletions index.js
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ var saved = global.sc;
module.exports = global.sc = { VERSION: pkg.version };

require("./src/const");
require("./src/sc/sc");
require("./src/sc/installer");
require("./src/sc/");
require("./src/sc/classlib/");

if (typeof saved !== "undefined") {
global.sc = saved;
Expand Down
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
{
"name": "scscript",
"version": "0.0.66",
"version": "0.0.67",
"author": "Nao Yonamine <mohayonao@gmail.com>",
"homepage": "http://mohayonao.github.io/SCScript/",
"bugs": "https://github.com/mohayonao/SCScript/issues",
Expand Down
10 changes: 10 additions & 0 deletions src/sc/classlib/Collections/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require("./Array");
require("./ArrayedCollection");
require("./Association");
require("./Collection");
require("./Dictionary");
require("./Environment");
require("./Event");
require("./SequenceableCollection");
require("./Set");
require("./String");
10 changes: 10 additions & 0 deletions src/sc/classlib/Core/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
require("./AbstractFunction");
require("./Boolean");
require("./Char");
require("./Function");
require("./Kernel");
require("./Nil");
require("./Object");
require("./Ref");
require("./Symbol");
require("./Thread");
5 changes: 5 additions & 0 deletions src/sc/classlib/Math/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
require("./Float");
require("./Integer");
require("./Magnitude");
require("./Number");
require("./SimpleNumber");
4 changes: 4 additions & 0 deletions src/sc/classlib/Streams/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require("./BasicOpsStream");
require("./ListPatterns");
require("./Patterns");
require("./Stream");
4 changes: 4 additions & 0 deletions src/sc/classlib/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require("./Collections/");
require("./Core/");
require("./Math/");
require("./Streams/");
5 changes: 5 additions & 0 deletions src/sc/config/config.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
(function(sc) {
"use strict";

sc.config = {};
})(sc);
1 change: 1 addition & 0 deletions src/sc/config/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
require("./config");
4 changes: 4 additions & 0 deletions src/sc/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
require("./scscript");
require("./libs/");
require("./config/");
require("./lang/");
2 changes: 0 additions & 2 deletions src/sc/installer.js

This file was deleted.

1 change: 1 addition & 0 deletions src/sc/lang/bytecode.js
Original file line number Diff line number Diff line change
@@ -1,6 +1,7 @@
(function(sc) {
"use strict";

require("./lang");
require("./dollar");
require("./fn");

Expand Down
3 changes: 2 additions & 1 deletion src/sc/lang/compiler.js
Original file line number Diff line number Diff line change
@@ -1 +1,2 @@
require("./compiler/installer");
require("./lang");
require("./compiler/");
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/assignment-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/binop-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/call-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/envir-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/event-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/function-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/identifier_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
File renamed without changes.
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/list-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/literal_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/program_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/this-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var CodeGen = sc.lang.compiler.CodeGen;
var Node = sc.lang.compiler.Node;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/uop-expr_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var CodeGen = sc.lang.compiler.CodeGen;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/value_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/codegen/var-stmt_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/compiler.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function(sc) {
"use strict";

require("../sc");
require("../lang");

sc.lang.compiler = {
Token: {
Expand Down
2 changes: 1 addition & 1 deletion src/sc/lang/compiler/compiler_test.js
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(function() {
"use strict";

require("./installer");
require("./");

var Syntax = sc.lang.compiler.Syntax;
var Token = sc.lang.compiler.Token;
Expand Down
7 changes: 7 additions & 0 deletions src/sc/lang/compiler/index.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,7 @@
require("./compiler");
require("./marker/");
require("./node/");
require("./rewriter/");
require("./lexer/");
require("./parser/");
require("./codegen/");
7 changes: 0 additions & 7 deletions src/sc/lang/compiler/installer.js

This file was deleted.

11 changes: 6 additions & 5 deletions src/sc/lang/compiler/lexer/comment.js
Original file line number Diff line number Diff line change
@@ -1,9 +1,14 @@
(function(sc) {
"use strict";

require("./compiler");
require("./lexer");

var Token = sc.lang.compiler.Token;
var Lexer = sc.lang.compiler.Lexer;

Lexer.addLexMethod("Comment", function(source, index) {
return new CommentLexer(source, index).scan();
});

function CommentLexer(source, index) {
this.source = source;
Expand Down Expand Up @@ -82,8 +87,4 @@
line: line|0
};
}

sc.lang.compiler.lexComment = function(source, index) {
return new CommentLexer(source, index).scan();
};
})(sc);
100 changes: 52 additions & 48 deletions src/sc/lang/compiler/lexer/comment_test.js
Original file line number Diff line number Diff line change
@@ -1,61 +1,65 @@
(function() {
"use strict";

require("./comment");
require("./");

var Token = sc.lang.compiler.Token;
var lexComment = sc.lang.compiler.lexComment;
var Lexer = sc.lang.compiler.Lexer;

describe("sc.lang.compiler.lexComment", function() {
var test = function(items) {
expect(lexComment(items[0], 1), items[0]).to.eql(items[1]);
};
it("SingleLineComment", function() {
[
[
" // comment",
{ type: Token.SingleLineComment, value: "// comment", length: 10, line: 0 }
],
[
" // comment1\n// comment2",
{ type: Token.SingleLineComment, value: "// comment1\n", length: 12, line: 1 }
],
].forEach(test);
});
it("MultiLineComment", function() {
[
[
" /* comment */",
{ type: Token.MultiLineComment, value: "/* comment */", length: 13, line: 0 }
],
function test(items) {
var lexer = new Lexer();
expect(lexer.lexComment(items[0], 1), items[0]).to.eql(items[1]);
}

describe("sc.lang.compiler.Lexer", function() {
describe("lexComment", function() {
it("SingleLineComment", function() {
[
" /* comment1\ncomment2\ncomment3 */",
{ type: Token.MultiLineComment,
value: "/* comment1\ncomment2\ncomment3 */",
length: 32,
line: 2
}
],
[
" // comment",
{ type: Token.SingleLineComment, value: "// comment", length: 10, line: 0 }
],
[
" // comment1\n// comment2",
{ type: Token.SingleLineComment, value: "// comment1\n", length: 12, line: 1 }
],
].forEach(test);
});
it("MultiLineComment", function() {
[
[
" /* /* nested comment */ */",
].join("\n"),
{ type: Token.MultiLineComment,
value: "/* /* nested comment */ */",
length: 26,
line: 0
}
],
" /* comment */",
{ type: Token.MultiLineComment, value: "/* comment */", length: 13, line: 0 }
],
[
" /* comment1\ncomment2\ncomment3 */",
{ type: Token.MultiLineComment,
value: "/* comment1\ncomment2\ncomment3 */",
length: 32,
line: 2
}
],
[
[
" /* /* nested comment */ */",
].join("\n"),
{ type: Token.MultiLineComment,
value: "/* /* nested comment */ */",
length: 26,
line: 0
}
],
[
" /* ",
{ error: true, value: "ILLEGAL", length: 4, line: 0 }
],
].forEach(test);
});
it("Not a String", function() {
[
" /* ",
{ error: true, value: "ILLEGAL", length: 4, line: 0 }
],
].forEach(test);
});
it("Not a String", function() {
[
[ "(string)", undefined ],
].forEach(test);
[ "(string)", undefined ],
].forEach(test);
});
});
});
})();
1 change: 0 additions & 1 deletion src/sc/lang/compiler/lexer/compiler.js

This file was deleted.

Loading

0 comments on commit 50f2865

Please sign in to comment.