@jishaanyazmi/code-script 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 +522 -0
- package/dist/ast.d.ts +195 -0
- package/dist/ast.d.ts.map +1 -0
- package/dist/ast.js +2 -0
- package/dist/ast.js.map +1 -0
- package/dist/compiler-core.d.ts +62 -0
- package/dist/compiler-core.d.ts.map +1 -0
- package/dist/compiler-core.js +577 -0
- package/dist/compiler-core.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +109 -0
- package/dist/index.js.map +1 -0
- package/dist/lexer.d.ts +20 -0
- package/dist/lexer.d.ts.map +1 -0
- package/dist/lexer.js +337 -0
- package/dist/lexer.js.map +1 -0
- package/dist/parser.d.ts +24 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +584 -0
- package/dist/parser.js.map +1 -0
- package/dist/shared.d.ts +6 -0
- package/dist/shared.d.ts.map +1 -0
- package/dist/shared.js +13 -0
- package/dist/shared.js.map +1 -0
- package/dist/tokenizer.d.ts +28 -0
- package/dist/tokenizer.d.ts.map +1 -0
- package/dist/tokenizer.js +32 -0
- package/dist/tokenizer.js.map +1 -0
- package/package.json +41 -0
package/dist/shared.js
ADDED
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
export const VERSION = '1.0.0';
|
|
2
|
+
export const FILE_EXTENSION = '.code';
|
|
3
|
+
export const OUTPUT_EXTENSION = '.js';
|
|
4
|
+
export function log(level, message) {
|
|
5
|
+
const prefix = {
|
|
6
|
+
info: '\x1b[36minfo\x1b[0m',
|
|
7
|
+
warn: '\x1b[33mwarn\x1b[0m',
|
|
8
|
+
error: '\x1b[31merror\x1b[0m',
|
|
9
|
+
debug: '\x1b[90mdebug\x1b[0m'
|
|
10
|
+
};
|
|
11
|
+
console.log(`[${prefix[level]}] ${message}`);
|
|
12
|
+
}
|
|
13
|
+
//# sourceMappingURL=shared.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"shared.js","sourceRoot":"","sources":["../src/shared.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,OAAO,GAAG,OAAO,CAAA;AAC9B,MAAM,CAAC,MAAM,cAAc,GAAG,OAAO,CAAA;AACrC,MAAM,CAAC,MAAM,gBAAgB,GAAG,KAAK,CAAA;AAIrC,MAAM,UAAU,GAAG,CAAC,KAAe,EAAE,OAAe;IAChD,MAAM,MAAM,GAA6B;QACrC,IAAI,EAAE,qBAAqB;QAC3B,IAAI,EAAE,qBAAqB;QAC3B,KAAK,EAAE,sBAAsB;QAC7B,KAAK,EAAE,sBAAsB;KAChC,CAAA;IACD,OAAO,CAAC,GAAG,CAAC,IAAI,MAAM,CAAC,KAAK,CAAC,KAAK,OAAO,EAAE,CAAC,CAAA;AAChD,CAAC"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
export declare enum TokenType {
|
|
2
|
+
NUMBER = "NUMBER",
|
|
3
|
+
STRING = "STRING",
|
|
4
|
+
BOOLEAN = "BOOLEAN",
|
|
5
|
+
NULL = "NULL",
|
|
6
|
+
UNDEFINED = "UNDEFINED",
|
|
7
|
+
IDENTIFIER = "IDENTIFIER",
|
|
8
|
+
KEYWORD = "KEYWORD",
|
|
9
|
+
OPERATOR = "OPERATOR",
|
|
10
|
+
SEPARATOR = "SEPARATOR",
|
|
11
|
+
NEWLINE = "NEWLINE",
|
|
12
|
+
EOF = "EOF",
|
|
13
|
+
UNKNOWN = "UNKNOWN"
|
|
14
|
+
}
|
|
15
|
+
export interface Token {
|
|
16
|
+
type: TokenType;
|
|
17
|
+
value: string;
|
|
18
|
+
line: number;
|
|
19
|
+
column: number;
|
|
20
|
+
start: number;
|
|
21
|
+
end: number;
|
|
22
|
+
}
|
|
23
|
+
export declare function createToken(type: TokenType, value: string, line: number, column: number, start: number, end: number): Token;
|
|
24
|
+
export declare const KEYWORDS: ReadonlySet<string>;
|
|
25
|
+
export declare const BOOLEAN_KEYWORDS: ReadonlySet<string>;
|
|
26
|
+
export declare const NULL_KEYWORD = "empty";
|
|
27
|
+
export declare const UNDEFINED_KEYWORD = "unknown";
|
|
28
|
+
//# sourceMappingURL=tokenizer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.d.ts","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAAA,oBAAY,SAAS;IACjB,MAAM,WAAgB;IACtB,MAAM,WAAgB;IACtB,OAAO,YAAgB;IACvB,IAAI,SAAgB;IACpB,SAAS,cAAgB;IACzB,UAAU,eAAgB;IAC1B,OAAO,YAAgB;IACvB,QAAQ,aAAgB;IACxB,SAAS,cAAgB;IACzB,OAAO,YAAgB;IACvB,GAAG,QAAgB;IACnB,OAAO,YAAgB;CAC1B;AAED,MAAM,WAAW,KAAK;IAClB,IAAI,EAAE,SAAS,CAAA;IACf,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,MAAM,CAAA;IACd,KAAK,EAAE,MAAM,CAAA;IACb,GAAG,EAAE,MAAM,CAAA;CACd;AAED,wBAAgB,WAAW,CAAC,IAAI,EAAE,SAAS,EAAE,KAAK,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,KAAK,CAE3H;AAED,eAAO,MAAM,QAAQ,EAAE,WAAW,CAAC,MAAM,CASvC,CAAA;AAEF,eAAO,MAAM,gBAAgB,EAAE,WAAW,CAAC,MAAM,CAA0B,CAAA;AAC3E,eAAO,MAAM,YAAY,UAAU,CAAA;AACnC,eAAO,MAAM,iBAAiB,YAAY,CAAA"}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
export var TokenType;
|
|
2
|
+
(function (TokenType) {
|
|
3
|
+
TokenType["NUMBER"] = "NUMBER";
|
|
4
|
+
TokenType["STRING"] = "STRING";
|
|
5
|
+
TokenType["BOOLEAN"] = "BOOLEAN";
|
|
6
|
+
TokenType["NULL"] = "NULL";
|
|
7
|
+
TokenType["UNDEFINED"] = "UNDEFINED";
|
|
8
|
+
TokenType["IDENTIFIER"] = "IDENTIFIER";
|
|
9
|
+
TokenType["KEYWORD"] = "KEYWORD";
|
|
10
|
+
TokenType["OPERATOR"] = "OPERATOR";
|
|
11
|
+
TokenType["SEPARATOR"] = "SEPARATOR";
|
|
12
|
+
TokenType["NEWLINE"] = "NEWLINE";
|
|
13
|
+
TokenType["EOF"] = "EOF";
|
|
14
|
+
TokenType["UNKNOWN"] = "UNKNOWN";
|
|
15
|
+
})(TokenType || (TokenType = {}));
|
|
16
|
+
export function createToken(type, value, line, column, start, end) {
|
|
17
|
+
return { type, value, line, column, start, end };
|
|
18
|
+
}
|
|
19
|
+
export const KEYWORDS = new Set([
|
|
20
|
+
'grab', 'share', 'make', 'fixed', 'keep', 'do', 'give', 'say',
|
|
21
|
+
'check', 'otherwise', 'pick', 'when', 'anyway',
|
|
22
|
+
'repeat', 'until', 'stop', 'skip',
|
|
23
|
+
'type', 'from', 'create', 'me', 'parent',
|
|
24
|
+
'attempt', 'oops', 'panic', 'done',
|
|
25
|
+
'later', 'wait', 'remove', 'kind', 'is',
|
|
26
|
+
'mine', 'everyone', 'family', 'shared',
|
|
27
|
+
'yes', 'no', 'empty', 'unknown'
|
|
28
|
+
]);
|
|
29
|
+
export const BOOLEAN_KEYWORDS = new Set(['yes', 'no']);
|
|
30
|
+
export const NULL_KEYWORD = 'empty';
|
|
31
|
+
export const UNDEFINED_KEYWORD = 'unknown';
|
|
32
|
+
//# sourceMappingURL=tokenizer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"tokenizer.js","sourceRoot":"","sources":["../src/tokenizer.ts"],"names":[],"mappings":"AAAA,MAAM,CAAN,IAAY,SAaX;AAbD,WAAY,SAAS;IACjB,8BAAsB,CAAA;IACtB,8BAAsB,CAAA;IACtB,gCAAuB,CAAA;IACvB,0BAAoB,CAAA;IACpB,oCAAyB,CAAA;IACzB,sCAA0B,CAAA;IAC1B,gCAAuB,CAAA;IACvB,kCAAwB,CAAA;IACxB,oCAAyB,CAAA;IACzB,gCAAuB,CAAA;IACvB,wBAAmB,CAAA;IACnB,gCAAuB,CAAA;AAC3B,CAAC,EAbW,SAAS,KAAT,SAAS,QAapB;AAWD,MAAM,UAAU,WAAW,CAAC,IAAe,EAAE,KAAa,EAAE,IAAY,EAAE,MAAc,EAAE,KAAa,EAAE,GAAW;IAChH,OAAO,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,GAAG,EAAE,CAAA;AACpD,CAAC;AAED,MAAM,CAAC,MAAM,QAAQ,GAAwB,IAAI,GAAG,CAAC;IACjD,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK;IAC7D,OAAO,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,EAAE,QAAQ;IAC9C,QAAQ,EAAE,OAAO,EAAE,MAAM,EAAE,MAAM;IACjC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,QAAQ;IACxC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM;IAClC,OAAO,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,IAAI;IACvC,MAAM,EAAE,UAAU,EAAE,QAAQ,EAAE,QAAQ;IACtC,KAAK,EAAE,IAAI,EAAE,OAAO,EAAE,SAAS;CAClC,CAAC,CAAA;AAEF,MAAM,CAAC,MAAM,gBAAgB,GAAwB,IAAI,GAAG,CAAC,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC,CAAA;AAC3E,MAAM,CAAC,MAAM,YAAY,GAAG,OAAO,CAAA;AACnC,MAAM,CAAC,MAAM,iBAAiB,GAAG,SAAS,CAAA"}
|
package/package.json
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@jishaanyazmi/code-script",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "A beginner-friendly programming language that transpiles to JavaScript",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"main": "./dist/index.js",
|
|
7
|
+
"bin": {
|
|
8
|
+
"codescript": "./dist/index.js"
|
|
9
|
+
},
|
|
10
|
+
"files": [
|
|
11
|
+
"dist",
|
|
12
|
+
"README.md",
|
|
13
|
+
"LICENSE"
|
|
14
|
+
],
|
|
15
|
+
"scripts": {
|
|
16
|
+
"build": "tsc"
|
|
17
|
+
},
|
|
18
|
+
"publishConfig": {
|
|
19
|
+
"access": "public"
|
|
20
|
+
},
|
|
21
|
+
"keywords": [
|
|
22
|
+
"codescript",
|
|
23
|
+
"language",
|
|
24
|
+
"transpiler",
|
|
25
|
+
"compiler",
|
|
26
|
+
"beginner"
|
|
27
|
+
],
|
|
28
|
+
"author": "Mohd Jishaan Azmi",
|
|
29
|
+
"license": "MIT",
|
|
30
|
+
"repository": {
|
|
31
|
+
"type": "git",
|
|
32
|
+
"url": "https://github.com/jishaanyazmi/code-script.git"
|
|
33
|
+
},
|
|
34
|
+
"bugs": {
|
|
35
|
+
"url": "https://github.com/jishaanyazmi/code-script/issues"
|
|
36
|
+
},
|
|
37
|
+
"homepage": "https://github.com/jishaanyazmi/code-script#readme",
|
|
38
|
+
"devDependencies": {
|
|
39
|
+
"typescript": "^5.0.0"
|
|
40
|
+
}
|
|
41
|
+
}
|