Skip to content

Commit 8b2c2bd

Browse files
committed
Update v0.2.1-next
1 parent 1c32a74 commit 8b2c2bd

53 files changed

Lines changed: 736 additions & 5328 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

bsconfig.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
{
2-
"readFolder": "./src/",
3-
"toFolder": "./dist/",
2+
"readFolder": "./src/parser",
3+
"toFolder": "./dist/parser",
44
"allowJs": true
55
}

dist/bsd.js

Lines changed: 11 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,15 @@
11
#!/usr/bin/env node
2-
const fs = require('fs')
2+
const fs = require('fs');
3+
const path = require('path');
4+
const { defaultConfig, config, readFolder, extensions } = require('../js/bsc.js');
35

4-
const locate = process.argv[2]
6+
const locate = process.argv[2];
7+
const directory = String(readFolder);
8+
const fileFrom = path.join(directory, locate);
59

6-
if (!locate) {
7-
console.error("Error: File path not provided")
8-
} else {
9-
fs.unlinkSync(locate)
10-
console.log("Successfully deleted " + locate + " file")
10+
try {
11+
fs.unlinkSync(fileFrom);
12+
console.log("Successfully deleted " + locate + " file");
13+
} catch (err) {
14+
console.log("Error:", err.message);
1115
}

dist/bsp.js

Lines changed: 60 additions & 40 deletions
Original file line numberDiff line numberDiff line change
@@ -1,46 +1,66 @@
11
#!/usr/bin/env node
2-
const fs = require('fs')
3-
const path = require('path')
4-
const { extensions, toFolder, readFolder, translate } = require('../js/bsconfig.js')
5-
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js')
6-
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js')
2+
const fs = require('fs');
3+
const vm = require('vm');
4+
const path = require('path');
5+
const { extensions, toFolder, readFolder, translate } = require('../js/bsc.js');
6+
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js');
7+
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js');
8+
const { stackParsing } = require('../js/error.js');
79

8-
var locate = String(process.argv[2])
9-
const directory = String(readFolder)
10-
var fileFrom = path.join(directory, locate)
10+
const sandbox = {
11+
console: {
12+
log: () => {}
13+
},
14+
require: require,
15+
process: process
16+
};
1117

12-
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
13-
var box = fs.readFileSync(fileFrom, 'utf-8')
14-
var code = parseCode(box)
15-
code = addSemicolons(code)
16-
const parsingResults = parsing(code)
17-
18-
if (parsingResults === false) {
19-
console.log("Please check your code and try again.")
20-
} else {
21-
code = flowReplace(code)
22-
code = utilityReplace(code)
23-
code = funcReplace(code)
24-
code = condReplace(code)
25-
code = forEachReplace(code)
26-
code = reassignReplace(code)
27-
code = assignReplace(code)
28-
code = logReplace(code)
29-
code = interactReplace(code)
30-
code = mathReplace(code)
31-
code = commentReplace(code)
32-
code = asyncReplace(code)
33-
code = forReplace(code)
34-
code = convReplace(code)
35-
code = checkReplace(code)
36-
code = oopReplace(code)
37-
code = excepReplace(code)
38-
code = domReplace(code)
18+
var locate = String(process.argv[2]);
19+
const directory = String(readFolder);
20+
var fileFrom = path.join(directory, locate);
21+
22+
var code
23+
try {
24+
var box = fs.readFileSync(fileFrom, 'utf-8');
25+
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
26+
code = parseCode(box);
27+
code = addSemicolons(code);
28+
const parsingResults = parsing(code);
3929

40-
console.log(code)
30+
if (parsingResults === false) {
31+
console.log("Error:", parsingMsg.message);
32+
} else {
33+
code = flowReplace(code);
34+
code = utilityReplace(code);
35+
code = funcReplace(code);
36+
code = condReplace(code);
37+
code = forEachReplace(code);
38+
code = reassignReplace(code);
39+
code = assignReplace(code);
40+
code = logReplace(code);
41+
code = interactReplace(code);
42+
code = mathReplace(code);
43+
code = commentReplace(code);
44+
code = asyncReplace(code);
45+
code = forReplace(code);
46+
code = convReplace(code);
47+
code = checkReplace(code);
48+
code = oopReplace(code);
49+
code = excepReplace(code);
50+
code = domReplace(code);
51+
52+
vm.runInNewContext(code, sandbox);
53+
console.log(code);
54+
}
55+
} else {
56+
console.log(`Error: Unsupported file extension. Please use a ${extensions.primary}, ${extensions.secondary}, or ${extensions.module} file.`)
57+
}
58+
} catch (err) {
59+
const msg = err.message;
60+
if (msg.includes('module')) {
61+
console.log(code);
62+
} else {
63+
const stackMsg = err.stack;
64+
console.log(stackParsing(locate, err.message, stackMsg, box, err.name, fileFrom));
4165
}
42-
} else {
43-
locate = locate.replace("undefined", "")
44-
console.log("Invalid file name '" + locate + "'")
45-
console.log("Use the " + extensions.primary + ", " + extensions.secondary + ", or " + extensions.module + " extension")
4666
}

dist/bsr.js

Lines changed: 52 additions & 42 deletions
Original file line numberDiff line numberDiff line change
@@ -1,53 +1,63 @@
11
#!/usr/bin/env node
2-
const fs = require('fs')
3-
const vm = require('vm')
4-
const path = require('path')
5-
const { defaultConfig, config, readFolder, extensions } = require('../js/bsconfig.js')
6-
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js')
7-
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js')
2+
const fs = require('fs');
3+
const vm = require('vm');
4+
const path = require('path');
5+
const { defaultConfig, config, readFolder, extensions } = require('../js/bsc.js');
6+
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js');
7+
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js');
8+
const { stackParsing } = require('../js/error.js');
9+
10+
var locate = String(process.argv[2]);
11+
const directory = String(readFolder);
12+
var fileFrom = path.join(directory, locate);
813

914
const sandbox = {
1015
require: require,
1116
console: console,
1217
process: process,
1318
}
1419

15-
var locate = String(process.argv[2])
16-
const directory = String(readFolder)
17-
var fileFrom = path.join(directory, locate)
18-
19-
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
20-
var box = fs.readFileSync(fileFrom, 'utf-8')
21-
var code = parseCode(box)
22-
code = addSemicolons(code)
23-
var parsingResults = parsing(code)
24-
25-
if (parsingResults === false) {
26-
console.log("Please check your code and try again.")
20+
var code
21+
try {
22+
var box = fs.readFileSync(fileFrom, 'utf-8');
23+
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
24+
code = parseCode(box);
25+
code = addSemicolons(code);
26+
var parsingResults = parsing(code);
27+
28+
if (parsingResults === false) {
29+
console.log("Error:", parsingMsg.message);
30+
} else {
31+
code = flowReplace(code);
32+
code = utilityReplace(code);
33+
code = funcReplace(code);
34+
code = condReplace(code);
35+
code = forEachReplace(code);
36+
code = reassignReplace(code);
37+
code = assignReplace(code);
38+
code = logReplace(code);
39+
code = interactReplace(code);
40+
code = mathReplace(code);
41+
code = commentReplace(code);
42+
code = asyncReplace(code);
43+
code = forReplace(code);
44+
code = convReplace(code);
45+
code = checkReplace(code);
46+
code = oopReplace(code);
47+
code = excepReplace(code);
48+
code = domReplace(code);
49+
50+
vm.runInNewContext(code, sandbox, { filename: locate});
51+
}
52+
} else {
53+
console.log(`Error: Unsupported file extension. Please use a ${extensions.primary}, ${extensions.secondary}, or ${extensions.module} file.`)
54+
}
55+
} catch (err) {
56+
const msg = err.message;
57+
if (msg.includes('module')) {
58+
console.log("Sorry, you cannot using module right now.");
2759
} else {
28-
code = flowReplace(code)
29-
code = utilityReplace(code)
30-
code = funcReplace(code)
31-
code = condReplace(code)
32-
code = forEachReplace(code)
33-
code = reassignReplace(code)
34-
code = assignReplace(code)
35-
code = logReplace(code)
36-
code = interactReplace(code)
37-
code = mathReplace(code)
38-
code = commentReplace(code)
39-
code = asyncReplace(code)
40-
code = forReplace(code)
41-
code = convReplace(code)
42-
code = checkReplace(code)
43-
code = oopReplace(code)
44-
code = excepReplace(code)
45-
code = domReplace(code)
46-
47-
vm.runInNewContext(code, sandbox);
60+
const stackMsg = err.stack;
61+
console.log(stackParsing(locate, err.message, stackMsg, box, err.name, fileFrom));
4862
}
49-
} else {
50-
locate = locate.replace("undefined", "")
51-
console.log("Invalid file name '" + locate + "'")
52-
console.log("Use the " + extensions.primary + ", " + extensions.secondary + ", or " + extensions.module + " extension")
5363
}

dist/bst.js

Lines changed: 75 additions & 50 deletions
Original file line numberDiff line numberDiff line change
@@ -1,58 +1,83 @@
11
#!/usr/bin/env node
2-
const fs = require('fs')
3-
const path = require('path')
4-
const { extensions, toFolder, readFolder, watch, strict, translate } = require('../js/bsconfig.js')
5-
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js')
6-
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js')
7-
const { watching } = require('../js/watcher.js')
2+
const fs = require('fs');
3+
const vm = require('vm');
4+
const path = require('path');
5+
const { extensions, toFolder, readFolder, watch, strict, translate } = require('../js/bsc.js');
6+
const { parsing, parsingMsg, parseCode, addSemicolons } = require('../js/parser.js');
7+
const { funcReplace, condReplace, forEachReplace, reassignReplace, assignReplace, logReplace, interactReplace, mathReplace, domReplace, commentReplace, utilityReplace, asyncReplace, flowReplace, forReplace, convReplace, checkReplace, oopReplace, excepReplace, expReplace, otherReplace } = require('./parser/parsingDecl.js');
8+
const { watching } = require('../js/watcher.js');
9+
const { stackParsing } = require('../js/error.js');
810

9-
var locate = String(process.argv[2])
10-
const directory = String(toFolder)
11-
const directory2 = String(readFolder)
12-
var filePath = path.join(directory, locate)
13-
var fileFrom = path.join(directory2, locate)
11+
const sandbox = {
12+
console: {
13+
log: () => {}
14+
},
15+
require: require,
16+
process: process
17+
};
1418

15-
if (watch === true) {
16-
watching(directory2, directory)
17-
} else {
18-
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
19-
var box = fs.readFileSync(fileFrom, 'utf-8')
20-
var code = parseCode(box)
21-
code = addSemicolons(code)
22-
const parsingResults = parsing(code)
23-
24-
if (parsingResults === false) {
25-
console.log("Please check your code and try again.")
26-
} else {
27-
code = flowReplace(code)
28-
code = utilityReplace(code)
29-
code = funcReplace(code)
30-
code = condReplace(code)
31-
code = forEachReplace(code)
32-
code = reassignReplace(code)
33-
code = assignReplace(code)
34-
code = logReplace(code)
35-
code = interactReplace(code)
36-
code = mathReplace(code)
37-
code = commentReplace(code)
38-
code = asyncReplace(code)
39-
code = forReplace(code)
40-
code = convReplace(code)
41-
code = checkReplace(code)
42-
code = oopReplace(code)
43-
code = excepReplace(code)
44-
code = domReplace(code)
45-
46-
filePath = filePath.replace(extensions.primary, ".js")
47-
filePath = filePath.replace(extensions.secondary, ".js")
48-
filePath = filePath.replace(extensions.module, ".mjs")
19+
var locate = String(process.argv[2]);
20+
const directory = String(toFolder);
21+
const directory2 = String(readFolder);
22+
var filePath = path.join(directory, locate);
23+
var fileFrom = path.join(directory2, locate);
24+
25+
var code
26+
try {
27+
var box = fs.readFileSync(fileFrom, 'utf-8');
28+
if (watch === true) {
29+
watching(directory2, directory);
30+
} else {
31+
if (locate.endsWith(extensions.primary) || locate.endsWith(extensions.secondary) || locate.endsWith(extensions.module)) {
32+
code = parseCode(box);
33+
code = addSemicolons(code);
34+
const parsingResults = parsing(code);
4935

50-
fs.writeFileSync(filePath, code, 'utf8')
51-
console.log("Successfully compiled " + locate + " file")
36+
if (parsingResults === false) {
37+
console.log("Error:", parsingMsg.message);
38+
} else {
39+
code = flowReplace(code);
40+
code = utilityReplace(code);
41+
code = funcReplace(code);
42+
code = condReplace(code);
43+
code = forEachReplace(code);
44+
code = reassignReplace(code);
45+
code = assignReplace(code);
46+
code = logReplace(code);
47+
code = interactReplace(code);
48+
code = mathReplace(code);
49+
code = commentReplace(code);
50+
code = asyncReplace(code);
51+
code = forReplace(code);
52+
code = convReplace(code);
53+
code = checkReplace(code);
54+
code = oopReplace(code);
55+
code = excepReplace(code);
56+
code = domReplace(code);
57+
58+
vm.runInNewContext(code, sandbox);
59+
filePath = filePath.replace(extensions.primary, ".js");
60+
filePath = filePath.replace(extensions.secondary, ".js");
61+
filePath = filePath.replace(extensions.module, ".mjs");
62+
63+
fs.writeFileSync(filePath, code, 'utf8');
64+
console.log("Successfully compiled " + locate + " file");
65+
}
66+
} else {
67+
console.log(`Error: Unsupported file extension. Please use a ${extensions.primary}, ${extensions.secondary}, or ${extensions.module} file.`)
5268
}
69+
}
70+
} catch (err) {
71+
const msg = err.message;
72+
if (msg.includes('module')) {
73+
filePath = filePath.replace(extensions.primary, ".js");
74+
filePath = filePath.replace(extensions.secondary, ".js");
75+
filePath = filePath.replace(extensions.module, ".mjs");
76+
77+
fs.writeFileSync(filePath, code, 'utf8');
78+
console.log("Successfully compiled " + locate + " file");
5379
} else {
54-
locate = locate.replace("undefined", "")
55-
console.log("Invalid file name '" + locate + "'")
56-
console.log("Use the " + extensions.primary + ", " + extensions.secondary + ", or " + extensions.module + " extension")
80+
const stackMsg = err.stack;
81+
console.log(stackParsing(locate, err.message, stackMsg, box, err.name));
5782
}
5883
}

0 commit comments

Comments
 (0)