gglang 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/LICENSE +21 -0
- package/README.md +158 -0
- package/dist/environment.d.ts +45 -0
- package/dist/environment.d.ts.map +1 -0
- package/dist/environment.js +95 -0
- package/dist/environment.js.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +199 -0
- package/dist/index.js.map +1 -0
- package/dist/interpreter.d.ts +121 -0
- package/dist/interpreter.d.ts.map +1 -0
- package/dist/interpreter.js +564 -0
- package/dist/interpreter.js.map +1 -0
- package/dist/lexer.d.ts +76 -0
- package/dist/lexer.d.ts.map +1 -0
- package/dist/lexer.js +371 -0
- package/dist/lexer.js.map +1 -0
- package/dist/parser.d.ts +64 -0
- package/dist/parser.d.ts.map +1 -0
- package/dist/parser.js +543 -0
- package/dist/parser.js.map +1 -0
- package/dist/types.d.ts +205 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +92 -0
- package/dist/types.js.map +1 -0
- package/docs/DOCUMENTATION.md +904 -0
- package/package.json +37 -0
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,205 @@
|
|
|
1
|
+
export declare enum TokenType {
|
|
2
|
+
NUMBER = "NUMBER",
|
|
3
|
+
STRING = "STRING",
|
|
4
|
+
IDENTIFIER = "IDENTIFIER",
|
|
5
|
+
SPAWN = "SPAWN",// program start
|
|
6
|
+
EQUIP = "EQUIP",// variable declaration
|
|
7
|
+
ARTIFACT = "ARTIFACT",// constant declaration
|
|
8
|
+
BROADCAST = "BROADCAST",// print
|
|
9
|
+
QUEST = "QUEST",// if
|
|
10
|
+
SIDE_QUEST = "SIDE_QUEST",// else if
|
|
11
|
+
RETREAT = "RETREAT",// else
|
|
12
|
+
GRIND = "GRIND",// while loop
|
|
13
|
+
RAGE_QUIT = "RAGE_QUIT",// break
|
|
14
|
+
RESPAWN = "RESPAWN",// continue
|
|
15
|
+
SKILL = "SKILL",// function declaration
|
|
16
|
+
LOOT = "LOOT",// return
|
|
17
|
+
VICTORY = "VICTORY",// true
|
|
18
|
+
DEFEAT = "DEFEAT",// false
|
|
19
|
+
PHANTOM = "PHANTOM",// null
|
|
20
|
+
GLITCH = "GLITCH",// throw
|
|
21
|
+
BOSS_FIGHT = "BOSS_FIGHT",// try
|
|
22
|
+
REVIVE = "REVIVE",// catch
|
|
23
|
+
PLUS = "PLUS",// +
|
|
24
|
+
MINUS = "MINUS",// -
|
|
25
|
+
STAR = "STAR",// *
|
|
26
|
+
SLASH = "SLASH",// /
|
|
27
|
+
PERCENT = "PERCENT",// %
|
|
28
|
+
EQUALS = "EQUALS",// =
|
|
29
|
+
PLUS_EQUALS = "PLUS_EQUALS",// +=
|
|
30
|
+
MINUS_EQUALS = "MINUS_EQUALS",// -=
|
|
31
|
+
STAR_EQUALS = "STAR_EQUALS",// *=
|
|
32
|
+
SLASH_EQUALS = "SLASH_EQUALS",// /=
|
|
33
|
+
DOUBLE_EQUALS = "DOUBLE_EQUALS",// ==
|
|
34
|
+
NOT_EQUALS = "NOT_EQUALS",// !=
|
|
35
|
+
GREATER = "GREATER",// >
|
|
36
|
+
LESS = "LESS",// <
|
|
37
|
+
GREATER_EQUALS = "GREATER_EQUALS",// >=
|
|
38
|
+
LESS_EQUALS = "LESS_EQUALS",// <=
|
|
39
|
+
AND = "AND",// &&
|
|
40
|
+
OR = "OR",// ||
|
|
41
|
+
NOT = "NOT",// !
|
|
42
|
+
SEMICOLON = "SEMICOLON",// ;
|
|
43
|
+
COMMA = "COMMA",// ,
|
|
44
|
+
LPAREN = "LPAREN",// (
|
|
45
|
+
RPAREN = "RPAREN",// )
|
|
46
|
+
LBRACE = "LBRACE",// {
|
|
47
|
+
RBRACE = "RBRACE",// }
|
|
48
|
+
EOF = "EOF"
|
|
49
|
+
}
|
|
50
|
+
export interface Token {
|
|
51
|
+
type: TokenType;
|
|
52
|
+
value: string;
|
|
53
|
+
line: number;
|
|
54
|
+
column: number;
|
|
55
|
+
}
|
|
56
|
+
export interface Program {
|
|
57
|
+
type: "Program";
|
|
58
|
+
body: Statement[];
|
|
59
|
+
}
|
|
60
|
+
export type Statement = VariableDeclaration | AssignmentStatement | CompoundAssignmentStatement | PrintStatement | IfStatement | WhileStatement | BreakStatement | ContinueStatement | FunctionDeclaration | ReturnStatement | ThrowStatement | TryCatchStatement | ExpressionStatement;
|
|
61
|
+
export interface VariableDeclaration {
|
|
62
|
+
type: "VariableDeclaration";
|
|
63
|
+
name: string;
|
|
64
|
+
value: Expression;
|
|
65
|
+
constant: boolean;
|
|
66
|
+
line: number;
|
|
67
|
+
}
|
|
68
|
+
export interface AssignmentStatement {
|
|
69
|
+
type: "AssignmentStatement";
|
|
70
|
+
name: string;
|
|
71
|
+
value: Expression;
|
|
72
|
+
line: number;
|
|
73
|
+
}
|
|
74
|
+
export interface CompoundAssignmentStatement {
|
|
75
|
+
type: "CompoundAssignmentStatement";
|
|
76
|
+
name: string;
|
|
77
|
+
operator: string;
|
|
78
|
+
value: Expression;
|
|
79
|
+
line: number;
|
|
80
|
+
}
|
|
81
|
+
export interface PrintStatement {
|
|
82
|
+
type: "PrintStatement";
|
|
83
|
+
value: Expression;
|
|
84
|
+
line: number;
|
|
85
|
+
}
|
|
86
|
+
export interface IfStatement {
|
|
87
|
+
type: "IfStatement";
|
|
88
|
+
condition: Expression;
|
|
89
|
+
body: Statement[];
|
|
90
|
+
elseIfClauses: ElseIfClause[];
|
|
91
|
+
elseBody: Statement[] | null;
|
|
92
|
+
line: number;
|
|
93
|
+
}
|
|
94
|
+
export interface ElseIfClause {
|
|
95
|
+
condition: Expression;
|
|
96
|
+
body: Statement[];
|
|
97
|
+
}
|
|
98
|
+
export interface WhileStatement {
|
|
99
|
+
type: "WhileStatement";
|
|
100
|
+
condition: Expression;
|
|
101
|
+
body: Statement[];
|
|
102
|
+
line: number;
|
|
103
|
+
}
|
|
104
|
+
export interface BreakStatement {
|
|
105
|
+
type: "BreakStatement";
|
|
106
|
+
line: number;
|
|
107
|
+
}
|
|
108
|
+
export interface ContinueStatement {
|
|
109
|
+
type: "ContinueStatement";
|
|
110
|
+
line: number;
|
|
111
|
+
}
|
|
112
|
+
export interface FunctionDeclaration {
|
|
113
|
+
type: "FunctionDeclaration";
|
|
114
|
+
name: string;
|
|
115
|
+
params: string[];
|
|
116
|
+
body: Statement[];
|
|
117
|
+
line: number;
|
|
118
|
+
}
|
|
119
|
+
export interface ReturnStatement {
|
|
120
|
+
type: "ReturnStatement";
|
|
121
|
+
value: Expression | null;
|
|
122
|
+
line: number;
|
|
123
|
+
}
|
|
124
|
+
export interface ThrowStatement {
|
|
125
|
+
type: "ThrowStatement";
|
|
126
|
+
value: Expression;
|
|
127
|
+
line: number;
|
|
128
|
+
}
|
|
129
|
+
export interface TryCatchStatement {
|
|
130
|
+
type: "TryCatchStatement";
|
|
131
|
+
tryBody: Statement[];
|
|
132
|
+
catchParam: string;
|
|
133
|
+
catchBody: Statement[];
|
|
134
|
+
line: number;
|
|
135
|
+
}
|
|
136
|
+
export interface ExpressionStatement {
|
|
137
|
+
type: "ExpressionStatement";
|
|
138
|
+
expression: Expression;
|
|
139
|
+
line: number;
|
|
140
|
+
}
|
|
141
|
+
export type Expression = NumberLiteral | StringLiteral | BooleanLiteral | NullLiteral | Identifier | BinaryExpression | UnaryExpression | LogicalExpression | CallExpression;
|
|
142
|
+
export interface NumberLiteral {
|
|
143
|
+
type: "NumberLiteral";
|
|
144
|
+
value: number;
|
|
145
|
+
}
|
|
146
|
+
export interface StringLiteral {
|
|
147
|
+
type: "StringLiteral";
|
|
148
|
+
value: string;
|
|
149
|
+
}
|
|
150
|
+
export interface BooleanLiteral {
|
|
151
|
+
type: "BooleanLiteral";
|
|
152
|
+
value: boolean;
|
|
153
|
+
}
|
|
154
|
+
export interface NullLiteral {
|
|
155
|
+
type: "NullLiteral";
|
|
156
|
+
}
|
|
157
|
+
export interface Identifier {
|
|
158
|
+
type: "Identifier";
|
|
159
|
+
name: string;
|
|
160
|
+
}
|
|
161
|
+
export interface BinaryExpression {
|
|
162
|
+
type: "BinaryExpression";
|
|
163
|
+
operator: string;
|
|
164
|
+
left: Expression;
|
|
165
|
+
right: Expression;
|
|
166
|
+
}
|
|
167
|
+
export interface UnaryExpression {
|
|
168
|
+
type: "UnaryExpression";
|
|
169
|
+
operator: string;
|
|
170
|
+
operand: Expression;
|
|
171
|
+
}
|
|
172
|
+
export interface LogicalExpression {
|
|
173
|
+
type: "LogicalExpression";
|
|
174
|
+
operator: string;
|
|
175
|
+
left: Expression;
|
|
176
|
+
right: Expression;
|
|
177
|
+
}
|
|
178
|
+
export interface CallExpression {
|
|
179
|
+
type: "CallExpression";
|
|
180
|
+
callee: string;
|
|
181
|
+
arguments: Expression[];
|
|
182
|
+
line: number;
|
|
183
|
+
}
|
|
184
|
+
export type RuntimeValue = number | string | boolean | null | GGFunction;
|
|
185
|
+
export interface GGFunction {
|
|
186
|
+
type: "function";
|
|
187
|
+
name: string;
|
|
188
|
+
params: string[];
|
|
189
|
+
body: Statement[];
|
|
190
|
+
closure: unknown;
|
|
191
|
+
}
|
|
192
|
+
export declare class GGLexerError extends Error {
|
|
193
|
+
line: number;
|
|
194
|
+
column: number;
|
|
195
|
+
constructor(message: string, line: number, column: number);
|
|
196
|
+
}
|
|
197
|
+
export declare class GGParserError extends Error {
|
|
198
|
+
line: number;
|
|
199
|
+
constructor(message: string, line: number);
|
|
200
|
+
}
|
|
201
|
+
export declare class GGRuntimeError extends Error {
|
|
202
|
+
line?: number | undefined;
|
|
203
|
+
constructor(message: string, line?: number | undefined);
|
|
204
|
+
}
|
|
205
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
// ============================================================
|
|
3
|
+
// GGLang — Type Definitions
|
|
4
|
+
// Token types, AST node interfaces, and shared types
|
|
5
|
+
// ============================================================
|
|
6
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
7
|
+
exports.GGRuntimeError = exports.GGParserError = exports.GGLexerError = exports.TokenType = void 0;
|
|
8
|
+
// ---- Token Types ----
|
|
9
|
+
var TokenType;
|
|
10
|
+
(function (TokenType) {
|
|
11
|
+
// Literals
|
|
12
|
+
TokenType["NUMBER"] = "NUMBER";
|
|
13
|
+
TokenType["STRING"] = "STRING";
|
|
14
|
+
TokenType["IDENTIFIER"] = "IDENTIFIER";
|
|
15
|
+
// Keywords
|
|
16
|
+
TokenType["SPAWN"] = "SPAWN";
|
|
17
|
+
TokenType["EQUIP"] = "EQUIP";
|
|
18
|
+
TokenType["ARTIFACT"] = "ARTIFACT";
|
|
19
|
+
TokenType["BROADCAST"] = "BROADCAST";
|
|
20
|
+
TokenType["QUEST"] = "QUEST";
|
|
21
|
+
TokenType["SIDE_QUEST"] = "SIDE_QUEST";
|
|
22
|
+
TokenType["RETREAT"] = "RETREAT";
|
|
23
|
+
TokenType["GRIND"] = "GRIND";
|
|
24
|
+
TokenType["RAGE_QUIT"] = "RAGE_QUIT";
|
|
25
|
+
TokenType["RESPAWN"] = "RESPAWN";
|
|
26
|
+
TokenType["SKILL"] = "SKILL";
|
|
27
|
+
TokenType["LOOT"] = "LOOT";
|
|
28
|
+
TokenType["VICTORY"] = "VICTORY";
|
|
29
|
+
TokenType["DEFEAT"] = "DEFEAT";
|
|
30
|
+
TokenType["PHANTOM"] = "PHANTOM";
|
|
31
|
+
TokenType["GLITCH"] = "GLITCH";
|
|
32
|
+
TokenType["BOSS_FIGHT"] = "BOSS_FIGHT";
|
|
33
|
+
TokenType["REVIVE"] = "REVIVE";
|
|
34
|
+
// Operators
|
|
35
|
+
TokenType["PLUS"] = "PLUS";
|
|
36
|
+
TokenType["MINUS"] = "MINUS";
|
|
37
|
+
TokenType["STAR"] = "STAR";
|
|
38
|
+
TokenType["SLASH"] = "SLASH";
|
|
39
|
+
TokenType["PERCENT"] = "PERCENT";
|
|
40
|
+
TokenType["EQUALS"] = "EQUALS";
|
|
41
|
+
TokenType["PLUS_EQUALS"] = "PLUS_EQUALS";
|
|
42
|
+
TokenType["MINUS_EQUALS"] = "MINUS_EQUALS";
|
|
43
|
+
TokenType["STAR_EQUALS"] = "STAR_EQUALS";
|
|
44
|
+
TokenType["SLASH_EQUALS"] = "SLASH_EQUALS";
|
|
45
|
+
TokenType["DOUBLE_EQUALS"] = "DOUBLE_EQUALS";
|
|
46
|
+
TokenType["NOT_EQUALS"] = "NOT_EQUALS";
|
|
47
|
+
TokenType["GREATER"] = "GREATER";
|
|
48
|
+
TokenType["LESS"] = "LESS";
|
|
49
|
+
TokenType["GREATER_EQUALS"] = "GREATER_EQUALS";
|
|
50
|
+
TokenType["LESS_EQUALS"] = "LESS_EQUALS";
|
|
51
|
+
TokenType["AND"] = "AND";
|
|
52
|
+
TokenType["OR"] = "OR";
|
|
53
|
+
TokenType["NOT"] = "NOT";
|
|
54
|
+
// Punctuation
|
|
55
|
+
TokenType["SEMICOLON"] = "SEMICOLON";
|
|
56
|
+
TokenType["COMMA"] = "COMMA";
|
|
57
|
+
TokenType["LPAREN"] = "LPAREN";
|
|
58
|
+
TokenType["RPAREN"] = "RPAREN";
|
|
59
|
+
TokenType["LBRACE"] = "LBRACE";
|
|
60
|
+
TokenType["RBRACE"] = "RBRACE";
|
|
61
|
+
// Special
|
|
62
|
+
TokenType["EOF"] = "EOF";
|
|
63
|
+
})(TokenType || (exports.TokenType = TokenType = {}));
|
|
64
|
+
// ---- Error Classes ----
|
|
65
|
+
class GGLexerError extends Error {
|
|
66
|
+
constructor(message, line, column) {
|
|
67
|
+
super(`⚔️ LEXER GLITCH at line ${line}, col ${column}: ${message}`);
|
|
68
|
+
this.line = line;
|
|
69
|
+
this.column = column;
|
|
70
|
+
this.name = "GGLexerError";
|
|
71
|
+
}
|
|
72
|
+
}
|
|
73
|
+
exports.GGLexerError = GGLexerError;
|
|
74
|
+
class GGParserError extends Error {
|
|
75
|
+
constructor(message, line) {
|
|
76
|
+
super(`🛡️ PARSER GLITCH at line ${line}: ${message}`);
|
|
77
|
+
this.line = line;
|
|
78
|
+
this.name = "GGParserError";
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
exports.GGParserError = GGParserError;
|
|
82
|
+
class GGRuntimeError extends Error {
|
|
83
|
+
constructor(message, line) {
|
|
84
|
+
super(line
|
|
85
|
+
? `💥 RUNTIME GLITCH at line ${line}: ${message}`
|
|
86
|
+
: `💥 RUNTIME GLITCH: ${message}`);
|
|
87
|
+
this.line = line;
|
|
88
|
+
this.name = "GGRuntimeError";
|
|
89
|
+
}
|
|
90
|
+
}
|
|
91
|
+
exports.GGRuntimeError = GGRuntimeError;
|
|
92
|
+
//# sourceMappingURL=types.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA,+DAA+D;AAC/D,4BAA4B;AAC5B,qDAAqD;AACrD,+DAA+D;;;AAE/D,wBAAwB;AAExB,IAAY,SAyDX;AAzDD,WAAY,SAAS;IACnB,WAAW;IACX,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IAEzB,WAAW;IACX,4BAAe,CAAA;IACf,4BAAe,CAAA;IACf,kCAAqB,CAAA;IACrB,oCAAuB,CAAA;IACvB,4BAAe,CAAA;IACf,sCAAyB,CAAA;IACzB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,oCAAuB,CAAA;IACvB,gCAAmB,CAAA;IACnB,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,sCAAyB,CAAA;IACzB,8BAAiB,CAAA;IAEjB,YAAY;IACZ,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,0BAAa,CAAA;IACb,4BAAe,CAAA;IACf,gCAAmB,CAAA;IACnB,8BAAiB,CAAA;IACjB,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,wCAA2B,CAAA;IAC3B,0CAA6B,CAAA;IAC7B,4CAA+B,CAAA;IAC/B,sCAAyB,CAAA;IACzB,gCAAmB,CAAA;IACnB,0BAAa,CAAA;IACb,8CAAiC,CAAA;IACjC,wCAA2B,CAAA;IAC3B,wBAAW,CAAA;IACX,sBAAS,CAAA;IACT,wBAAW,CAAA;IAEX,cAAc;IACd,oCAAuB,CAAA;IACvB,4BAAe,CAAA;IACf,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IACjB,8BAAiB,CAAA;IAEjB,UAAU;IACV,wBAAW,CAAA;AACb,CAAC,EAzDW,SAAS,yBAAT,SAAS,QAyDpB;AA+MD,0BAA0B;AAE1B,MAAa,YAAa,SAAQ,KAAK;IACrC,YAAY,OAAe,EAAS,IAAY,EAAS,MAAc;QACrE,KAAK,CAAC,2BAA2B,IAAI,SAAS,MAAM,KAAK,OAAO,EAAE,CAAC,CAAC;QADlC,SAAI,GAAJ,IAAI,CAAQ;QAAS,WAAM,GAAN,MAAM,CAAQ;QAErE,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AALD,oCAKC;AAED,MAAa,aAAc,SAAQ,KAAK;IACtC,YAAY,OAAe,EAAS,IAAY;QAC9C,KAAK,CAAC,6BAA6B,IAAI,KAAK,OAAO,EAAE,CAAC,CAAC;QADrB,SAAI,GAAJ,IAAI,CAAQ;QAE9C,IAAI,CAAC,IAAI,GAAG,eAAe,CAAC;IAC9B,CAAC;CACF;AALD,sCAKC;AAED,MAAa,cAAe,SAAQ,KAAK;IACvC,YAAY,OAAe,EAAS,IAAa;QAC/C,KAAK,CACH,IAAI;YACF,CAAC,CAAC,6BAA6B,IAAI,KAAK,OAAO,EAAE;YACjD,CAAC,CAAC,sBAAsB,OAAO,EAAE,CACpC,CAAC;QALgC,SAAI,GAAJ,IAAI,CAAS;QAM/C,IAAI,CAAC,IAAI,GAAG,gBAAgB,CAAC;IAC/B,CAAC;CACF;AATD,wCASC"}
|