besic-lang 1.0.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.
package/README.md ADDED
@@ -0,0 +1,2 @@
1
+ # besic
2
+ a new easy programing language
package/bin/besic.js ADDED
@@ -0,0 +1,2 @@
1
+ #!/usr/bin/env node
2
+ console.log("Besic Compiler v1.0.0 is running...");
package/index.js.txt ADDED
@@ -0,0 +1,9 @@
1
+ // index.js
2
+ const lexer = require('./lib/lexer');
3
+ const Parser = require('./lib/parser');
4
+
5
+ module.exports = function(code) {
6
+ const tokens = lexer(code);
7
+ const parser = new Parser(tokens);
8
+ return parser.parse();
9
+ };
@@ -0,0 +1,6 @@
1
+ // lib/generator.js
2
+ module.exports = function generate(node) {
3
+ if (node.type === 'Program') return node.body.map(generate).join('\n');
4
+ if (node.type === 'CallExpression') return `${node.name}(${node.args.map(a => `"${a}"`).join(', ')});`;
5
+ return '';
6
+ };
package/lib/lexer.js ADDED
@@ -0,0 +1,4 @@
1
+ // lib/lexer.js
2
+ module.exports = function lexer(code) {
3
+ return code.split(/\s+/).map(word => ({ type: 'IDENTIFIER', value: word }));
4
+ };
package/lib/parser.js ADDED
@@ -0,0 +1,5 @@
1
+ // lib/parser.js
2
+ module.exports = class Parser {
3
+ constructor(tokens) { this.tokens = tokens; }
4
+ parse() { return { type: 'Program', body: [] }; }
5
+ };
package/package.json ADDED
@@ -0,0 +1,16 @@
1
+ {
2
+ "name": "besic-lang",
3
+ "version": "1.0.0",
4
+ "main": "index.js",
5
+ "bin": {
6
+ "besic": "bin/besic.js"
7
+ },
8
+ "scripts": {
9
+ "test": "node test/test_suite.js",
10
+ "start": "node bin/besic.js",
11
+ "build": "mkdir -p dist && cp lib/*.js dist/"
12
+ },
13
+ "dependencies": {
14
+ "commander": "^12.0.0"
15
+ }
16
+ }
@@ -0,0 +1,6 @@
1
+ // test/test_suite.js
2
+ const assert = require('assert');
3
+
4
+ console.log("--- Besic Test Suite ---");
5
+ // Hano ni ho tuzajya twandika tests zacu
6
+ console.log("Test Passed: Besic Compiler is ready for testing!");