bayda-maghreb 1.1.4 → 1.1.5

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.
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "code": "mauritania",
3
- "name": "Mauritanian Hassaniya",
3
+ "name": "Mauritanian Hassaniya - Gen Z Tech",
4
4
  "nativeName": "حسانية - لغة الشباب و التقنية",
5
5
  "keywords": {
6
6
  "hello": "أهلا",
package/index.js CHANGED
File without changes
package/package.json CHANGED
@@ -1,11 +1,38 @@
1
1
  {
2
2
  "name": "bayda-maghreb",
3
- "version": "1.1.4",
4
- "description": "Bayda Maghreb - 6 dialects clean",
5
- "type": "module",
3
+ "version": "1.1.5",
4
+ "description": "Bayda Maghreb - 7 dialects clean + Gen 2 Tech",
6
5
  "main": "index.js",
7
- "bin": { "bayda-maghreb": "index.js" },
8
- "keywords": ["arabic","darija","kabyle"],
6
+ "scripts": {
7
+ "test": "vitest run",
8
+ "test:watch": "vitest"
9
+ },
10
+ "repository": {
11
+ "type": "git",
12
+ "url": "git+https://github.com/ajilisaifeddine-lab/bayda-maghreb.git"
13
+ },
14
+ "keywords": [
15
+ "arabic",
16
+ "darija",
17
+ "kabyle",
18
+ "amazigh",
19
+ "maghreb"
20
+ ],
9
21
  "author": "ajilis",
10
- "license": "MIT"
22
+ "license": "MIT",
23
+ "type": "module",
24
+ "bugs": {
25
+ "url": "https://github.com/ajilisaifeddine-lab/bayda-maghreb/issues"
26
+ },
27
+ "homepage": "https://github.com/ajilisaifeddine-lab/bayda-maghreb#readme",
28
+ "devDependencies": {
29
+ "typescript": "^7.0.2",
30
+ "vitest": "^5.0.4"
31
+ },
32
+ "files": [
33
+ "index.js",
34
+ "src",
35
+ "dialects",
36
+ "lahjat"
37
+ ]
11
38
  }
package/.gitignor DELETED
@@ -1 +0,0 @@
1
- node_modules/
package/core/ast.ts DELETED
@@ -1 +0,0 @@
1
- export type Node={type:string;[k:string]:any}; export type Program={type:'Program';body:Node[]};
package/core/compile.ts DELETED
@@ -1 +0,0 @@
1
- import {parse} from './parser.js'; export function compile(src:string){return parse(src);}
package/core/lexer.ts DELETED
@@ -1,4 +0,0 @@
1
- export type TokenType = 'IDENT'|'NUMBER'|'STRING'|'KEYWORD'|'SYMBOL'|'NEWLINE'|'EOF';
2
- export interface Token{type:TokenType;value:string;line:number;col:number;}
3
- const KEYWORDS=new Set(['ila','awla','wila','hata','dir','safi','ktab','jib','khrej']);
4
- export function lex(input:string):Token[]{const tokens:Token[]=[];let line=1,col=1,i=0;while(i<input.length){const c=input[i];if(c==='\n'){tokens.push({type:'NEWLINE',value:'\n',line,col});line++;col=1;i++;continue;}if(/\s/.test(c)){col++;i++;continue;}if(c==='"'||c==="'"){const q=c;let v='';i++;col++;while(i<input.length&&input[i]!==q){v+=input[i];i++;col++;}i++;col++;tokens.push({type:'STRING',value:v,line,col});continue;}if(/[0-9]/.test(c)){let v='';while(i<input.length&&/[0-9.]/.test(input[i])){v+=input[i];i++;col++;}tokens.push({type:'NUMBER',value:v,line,col});continue;}if(/[a-zA-Z_ء-يⴰ-⵿]/.test(c)){let v='';while(i<input.length&&/[a-zA-Z0-9_ء-يⴰ-⵿]/.test(input[i])){v+=input[i];i++;col++;}if(KEYWORDS.has(v))tokens.push({type:'KEYWORD',value:v,line,col});else tokens.push({type:'IDENT',value:v,line,col});continue;}tokens.push({type:'SYMBOL',value:c,line,col});i++;col++;}tokens.push({type:'EOF',value:'',line,col});return tokens;}
package/core/loader.ts DELETED
@@ -1 +0,0 @@
1
- import fs from 'fs'; import path from 'path'; export function loadDialect(name:string){const p=path.join(process.cwd(),'data','dialects',`${name}.json`);if(fs.existsSync(p))return JSON.parse(fs.readFileSync(p,'utf-8'));return null;}
package/core/mapping.ts DELETED
@@ -1 +0,0 @@
1
- export const baseMapping:Record<string,string>={ila:'if',awla:'else',wila:'elif',hata:'while',dir:'do',safi:'end',ktab:'print',jib:'input',khrej:'return'};
@@ -1 +0,0 @@
1
- import {Token} from './lexer.js'; export function normalize(tokens:Token[]):Token[]{return tokens;}
package/core/parser.ts DELETED
@@ -1 +0,0 @@
1
- import {lex} from './lexer.js'; import {Program} from './ast.js'; export function parse(input:string):Program{const tokens=lex(input);const body:any[]=[];let i=0;while(i<tokens.length){const t=tokens[i];if(t.type==='EOF')break;if(t.type==='NEWLINE'){i++;continue;}if(t.type==='KEYWORD'&&t.value==='ktab'){i++;if(tokens[i]){body.push({type:'Print',value:tokens[i].value});i++;}continue;}i++;}return{type:'Program',body};}
package/core/schema.ts DELETED
@@ -1 +0,0 @@
1
- import {z} from 'zod'; export const DialectSchema=z.object({name:z.string(),keywords:z.record(z.string()),symbols:z.record(z.string())});
package/core/types.ts DELETED
@@ -1 +0,0 @@
1
- export interface Dialect{name:string;keywords:Record<string,string>;symbols:Record<string,string>;}
@@ -1,105 +0,0 @@
1
- {
2
- "name": "algeria",
3
- "code": "dz",
4
- "script": "Arabic",
5
- "keywords": {
6
- "إلا": "else",
7
- "وإلا": "else",
8
- "بصح": "else",
9
- "إيلا": "if",
10
- "لوكان": "if",
11
- "كان": "if",
12
- "كي": "if",
13
- "طول ما": "while",
14
- "مادام": "while",
15
- "دير": "do",
16
- "وإلا كان": "elif",
17
- "ولا كان": "elif",
18
- "دور": "for",
19
- "لف": "for",
20
- "حبّس": "break",
21
- "قص": "break",
22
- "فوّت": "continue",
23
- "جوز": "continue",
24
- "خلاص": "end",
25
- "كمل": "end",
26
- "صح": "true",
27
- "غالط": "false",
28
- "و": "and",
29
- "ولا": "or",
30
- "ماشي": "not",
31
- "أفيشي": "print",
32
- "بيّن": "print",
33
- "ورّي": "print",
34
- "أطبع": "print",
35
- "جيب": "input",
36
- "دخل": "input",
37
- "أقرا": "input",
38
- "سقسي": "input",
39
- "رجّع": "return",
40
- "ولّي": "return",
41
- "حاجة": "variable",
42
- "عفسة": "variable",
43
- "ثابت": "constant",
44
- "مسمار": "constant",
45
- "ليستة": "array_list",
46
- "خاوية": "null_empty",
47
- "مكاش": "null_empty",
48
- "والو": "null_empty",
49
- "مسح": "clear_delete",
50
- "نقي": "clear_delete",
51
- "خدمة": "function_method",
52
- "شعل": "run_execute",
53
- "سجّل": "save_commit",
54
- "خبّي": "save_commit",
55
- "حوّس": "debug",
56
- "باغ": "error_bug",
57
- "طاح": "crash",
58
- "تمت": "success",
59
- "صلحت": "success",
60
- "فورمة": "class",
61
- "قالب": "class",
62
- "نسخة": "clone",
63
- "فرخ": "object",
64
- "ورث": "inheritance",
65
- "الزبال": "garbage_collector",
66
- "الباب": "port",
67
- "الروشن": "api_endpoint",
68
- "أبعث": "request",
69
- "دز": "request",
70
- "جواب": "response",
71
- "فات الوقت": "timeout",
72
- "السيرفر": "server",
73
- "طلق": "deploy",
74
- "الخزين": "backup",
75
- "خلط": "merge",
76
- "دفع": "push",
77
- "أجبد": "pull",
78
- "دور بلا حباس": "infinite_loop",
79
- "أستنى": "loading_spinner",
80
- "عندو الضو خضر": "authorized",
81
- "بلوكي": "blocked_banned",
82
- "حبس": "freeze_not_responding",
83
- "أرقد": "delay_sleep",
84
- "الشفرة": "password",
85
- "السراق": "hacker",
86
- "الخزنة": "database",
87
- "حوّس في الدفتر": "query",
88
- "البصمة": "primary_key",
89
- "الساس": "framework",
90
- "فابور": "open_source",
91
- "عندي": "localhost",
92
- "الفوق": "cloud",
93
- "فرع": "branch",
94
- "تخلطت": "conflict",
95
- "ولّي كيما كان": "rollback",
96
- "الكبسة": "button",
97
- "الداخل": "padding",
98
- "البرا": "margin",
99
- "تعيط لروحها": "recursion",
100
- "صح ولا لا": "boolean",
101
- "رتّب": "sort",
102
- "صفّي": "filter"
103
- },
104
- "symbols": {}
105
- }
@@ -1,51 +0,0 @@
1
- {
2
- "name": "algeria_franco",
3
- "code": "dz-latn",
4
- "script": "Latin",
5
- "keywords": {
6
- "ila": "if", "loukan": "if", "kan": "if", "ki": "if",
7
- "bsah": "else", "w_ila": "else", "ella": "else",
8
- "w_ila_kan": "elif", "ella_kan": "elif",
9
- "toul_ma": "while", "madaam": "while",
10
- "dir": "do",
11
- "dour": "for", "lef": "for",
12
- "7abbes": "break", "9oss": "break",
13
- "fawet": "continue", "jouz": "continue",
14
- "khlas": "end", "kamal": "end",
15
- "s7i7": "true", "sah": "true",
16
- "ghalet": "false",
17
- "w": "and", "wella": "or", "machi": "not",
18
- "bayen": "print", "wari": "print", "tba3": "print",
19
- "jib": "input", "da5al": "input", "a9ra": "input",
20
- "raja3": "return", "welli": "return",
21
- "7aja": "variable", "3afsa": "variable",
22
- "tabet": "constant", "mssamar": "constant",
23
- "lista": "array_list",
24
- "5awi": "null_empty", "makach": "null_empty", "walou": "null_empty", "fargh": "null_empty",
25
- "msa7": "clear_delete", "n9i": "clear_delete",
26
- "khedma": "function_method", "fonction": "function_method",
27
- "ch3al": "run_execute", "5adem": "run_execute",
28
- "sajal": "save_commit", "5abi": "save_commit",
29
- "7awes": "debug", "bag": "error_bug", "ta7": "crash",
30
- "tamet": "success", "sal7at": "success", "naja7": "success",
31
- "forma": "class", "9aleb": "class", "noskha": "clone",
32
- "ferkh": "object", "wart": "inheritance",
33
- "zbel": "garbage_collector", "bab": "port",
34
- "rawchen": "api_endpoint", "ab3at": "request",
35
- "dez": "request", "jawb": "response", "fet_lwa9t": "timeout",
36
- "sirfer": "server", "tla9": "deploy", "5azen": "backup",
37
- "khalat": "merge", "dfa3": "push", "jbad": "pull",
38
- "dour_bla_7sab": "infinite_loop", "estana": "loading_spinner",
39
- "3ando_daw_a5dar": "authorized", "mbloki": "blocked_banned",
40
- "m7abbes": "freeze_not_responding", "or9od": "delay_sleep",
41
- "chifra": "password", "sara9": "hacker", "5azna": "database",
42
- "7awes_fi_dfater": "query", "basma": "primary_key",
43
- "sas": "framework", "fabor": "open_source", "3andi": "localhost",
44
- "lfoug": "cloud", "far3": "branch", "tkhalatet": "conflict",
45
- "welli_kima_kan": "rollback", "batma": "button",
46
- "da5el": "padding", "barra": "margin",
47
- "t3ayet_lro7ha": "recursion", "s7i7_wla_la": "boolean",
48
- "rateb": "sort", "safi": "filter"
49
- },
50
- "symbols": {}
51
- }
@@ -1,74 +0,0 @@
1
- {
2
- "code": "kab",
3
- "name": "Kabyle",
4
- "keywords": {
5
- "ila": "if",
6
- "ma_yella": "if",
7
- "awla": "else",
8
- "ma_ulac": "else",
9
- "asmi": "while",
10
- "armi": "while",
11
- "bedd": "break",
12
- "kemmel": "continue",
13
- "afecku": "function",
14
- "tarrayt": "function",
15
- "err_d": "return",
16
- "rra_d": "return",
17
- "tidet": "true",
18
- "tikerkas": "false",
19
- "ulac": "null",
20
- "sider": "import",
21
- "sufɣ": "export",
22
- "taggayt": "class",
23
- "amaynur": "new",
24
- "asekfel": "try",
25
- "ttef": "catch",
26
- "taggara": "finally",
27
- "ḍegger": "throw",
28
- "afus": "Array",
29
- "awalen": "String",
30
- "umḍan": "Number",
31
- "tamsirt": "Object",
32
- "tabadut": "Boolean",
33
- "asizdeg": "filter",
34
- "asnifel": "map",
35
- "agmer": "reduce",
36
- "nadi": "find",
37
- "arnu": "push",
38
- "kkes": "pop",
39
- "meslay": "console.log",
40
- "seqdec": "sort",
41
- "beddel": "replace",
42
- "ferren": "split",
43
- "seddukel": "join",
44
- "semsawi": "equal",
45
- "ameqqran": "greater",
46
- "ameẓyan": "less",
47
- "tikli": "loop",
48
- "tikelt": "iteration",
49
- "aɣbalu": "source",
50
- "abrid": "path",
51
- "isem": "name",
52
- "azal": "value",
53
- "tamawt": "type",
54
- "asumer": "await",
55
- "raǧu": "async",
56
- "tazmert": "promise",
57
- "tuccḍa": "error",
58
- "tiɣri": "call",
59
- "asali": "apply",
60
- "tuqqna": "bind",
61
- "akal": "global",
62
- "agmam": "module",
63
- "tawuri": "process",
64
- "inadi": "index",
65
- "amḍan": "count",
66
- "amzwaru": "first",
67
- "aneggaru": "last",
68
- "talemmast": "middle",
69
- "ini": "say",
70
- "steqsi": "prompt",
71
- "wali": "check",
72
- "suɣel": "stringify"
73
- }
74
- }
@@ -1,112 +0,0 @@
1
- {
2
- "code": "kab",
3
- "name": "Kabyle",
4
- "keywords": {
5
- "ila": "if",
6
- "ma_yella": "if",
7
- "awla": "else",
8
- "neɣ": "else",
9
- "ma_ulac": "else",
10
- "ma_yella_ur": "else if",
11
- "i": "for",
12
- "deg": "for",
13
- "asmi": "while",
14
- "armi": "while",
15
- "efk": "do",
16
- "bedd": "break",
17
- "kemmel": "continue",
18
- "afecku": "function",
19
- "tarrayt": "function",
20
- "err_d": "return",
21
- "rra_d": "return",
22
- "tidet": "true",
23
- "tikerkas": "false",
24
- "ulac": "null",
25
- "ulac_akra": "null",
26
- "sider": "import",
27
- "sufɣ": "export",
28
- "taggayt": "class",
29
- "amaynur": "new",
30
- "neki": "this",
31
- "nec": "this",
32
- "hat": "let",
33
- "ili": "let",
34
- "ur_nbeddel": "const",
35
- "ahet": "var",
36
- "asekfel": "try",
37
- "ttef": "catch",
38
- "taggara": "finally",
39
- "ḍegger": "throw",
40
- "afus": "Array",
41
- "awalen": "String",
42
- "umḍan": "Number",
43
- "tamsirt": "Object",
44
- "tabadut": "Boolean",
45
- "tidukla": "Map",
46
- "agraw": "Set",
47
- "asizdeg": "filter",
48
- "asnifel": "map",
49
- "agmer": "reduce",
50
- "nadi": "find",
51
- "af": "get",
52
- "sbedd": "set",
53
- "arnu": "push",
54
- "kkes": "pop",
55
- "ɣer_teɣzi": "length",
56
- "meslay": "log",
57
- "print": "log",
58
- "awal": "log",
59
- "seqdec": "sort",
60
- "beddel": "replace",
61
- "ferren": "split",
62
- "seddukel": "join",
63
- "semsawi": "equal",
64
- "ameqqran": "greater",
65
- "ameẓyan": "less",
66
- "amar": "and",
67
- "neɣ": "or",
68
- "ur": "not",
69
- "yella": "exists",
70
- "ulac": "empty",
71
- "seg": "from",
72
- "ɣer": "to",
73
- "di": "in",
74
- "s": "with",
75
- "ak": "with",
76
- "ɣef": "on",
77
- "ddaw": "under",
78
- "nnig": "above",
79
- "zdat": "before",
80
- "deffir": "after",
81
- "tikli": "loop",
82
- "tikelt": "iteration",
83
- "aɣbalu": "source",
84
- "abrid": "path",
85
- "isem": "name",
86
- "azal": "value",
87
- "tamawt": "type",
88
- "asumer": "await",
89
- "raǧu": "async",
90
- "tazmert": "promise",
91
- "tuccḍa": "error",
92
- "tiɣri": "call",
93
- "asali": "apply",
94
- "tuqqna": "bind",
95
- "akal": "global",
96
- "agmam": "module",
97
- "tawuri": "process",
98
- "talɣa": "args",
99
- "inadi": "index",
100
- "amḍan": "count",
101
- "amzwaru": "first",
102
- "aneggaru": "last",
103
- "talemmast": "middle",
104
- "aḥric": "slice",
105
- "dukel": "concat",
106
- "ini": "say",
107
- "steqsi": "prompt",
108
- "wali": "check",
109
- "ferren": "parse",
110
- "suɣel": "stringify"
111
- }
112
- }
@@ -1,74 +0,0 @@
1
- {
2
- "code": "kab",
3
- "name": "Kabyle",
4
- "keywords": {
5
- "ila": "if",
6
- "ma_yella": "if",
7
- "awla": "else",
8
- "ma_ulac": "else",
9
- "asmi": "while",
10
- "armi": "while",
11
- "bedd": "break",
12
- "kemmel": "continue",
13
- "afecku": "function",
14
- "tarrayt": "function",
15
- "err_d": "return",
16
- "rra_d": "return",
17
- "tidet": "true",
18
- "tikerkas": "false",
19
- "ulac": "null",
20
- "sider": "import",
21
- "sufɣ": "export",
22
- "taggayt": "class",
23
- "amaynur": "new",
24
- "asekfel": "try",
25
- "ttef": "catch",
26
- "taggara": "finally",
27
- "ḍegger": "throw",
28
- "afus": "Array",
29
- "awalen": "String",
30
- "umḍan": "Number",
31
- "tamsirt": "Object",
32
- "tabadut": "Boolean",
33
- "asizdeg": "filter",
34
- "asnifel": "map",
35
- "agmer": "reduce",
36
- "nadi": "find",
37
- "arnu": "push",
38
- "kkes": "pop",
39
- "meslay": "console.log",
40
- "seqdec": "sort",
41
- "beddel": "replace",
42
- "ferren": "split",
43
- "seddukel": "join",
44
- "semsawi": "equal",
45
- "ameqqran": "greater",
46
- "ameẓyan": "less",
47
- "tikli": "loop",
48
- "tikelt": "iteration",
49
- "aɣbalu": "source",
50
- "abrid": "path",
51
- "isem": "name",
52
- "azal": "value",
53
- "tamawt": "type",
54
- "asumer": "await",
55
- "raǧu": "async",
56
- "tazmert": "promise",
57
- "tuccḍa": "error",
58
- "tiɣri": "call",
59
- "asali": "apply",
60
- "tuqqna": "bind",
61
- "akal": "global",
62
- "agmam": "module",
63
- "tawuri": "process",
64
- "inadi": "index",
65
- "amḍan": "count",
66
- "amzwaru": "first",
67
- "aneggaru": "last",
68
- "talemmast": "middle",
69
- "ini": "say",
70
- "steqsi": "prompt",
71
- "wali": "check",
72
- "suɣel": "stringify"
73
- }
74
- }
@@ -1,256 +0,0 @@
1
- {
2
- "name": "Libya",
3
- "code": "ly",
4
- "script": "Arabic",
5
- "keywords": {
6
- "كان طارت": "if",
7
- "وإلاّ": "else",
8
- "وإلا كان": "elif",
9
- "كان طارت أخرى": "elif",
10
- "لو": "elif",
11
- "دور": "for",
12
- "لف": "for",
13
- "لكل": "foreach",
14
- "لكل واحد": "foreach",
15
- "طول ما هي": "while",
16
- "طالما": "while",
17
- "فرينو": "break",
18
- "قص عليها": "break",
19
- "فوتها": "continue",
20
- "خطّم": "continue",
21
- "حاجة وتخلاص": "variable",
22
- "مسمار في حيط": "constant",
23
- "سلاّط": "array_list",
24
- "ستيكة": "array_list",
25
- "مفلس": "null_empty",
26
- "مفيش صبع": "null_empty",
27
- "امسح الحكاكة": "clear_delete",
28
- "قربع": "clear_delete",
29
- "الصنعة": "function_method",
30
- "ولّع": "run_execute",
31
- "اضغط الزر": "run_execute",
32
- "لوّح في الشاشة": "print",
33
- "ورّينا": "print",
34
- "أقفل عليها": "save_commit",
35
- "دسّها": "save_commit",
36
- "نبّش": "debug",
37
- "دور السريب": "debug",
38
- "عكّة": "error_bug",
39
- "السيستم خش في حيط": "error_bug",
40
- "طاح السيرفر": "crash",
41
- "تفشفش": "crash",
42
- "تمت بجودة": "success",
43
- "أمورها لوز": "success",
44
- "الفورمة": "class",
45
- "الفصّالة": "class",
46
- "النسخة": "object",
47
- "الفرخ": "object",
48
- "طالع لبوة": "inheritance",
49
- "مورّث": "inheritance",
50
- "الكنّاس": "garbage_collector",
51
- "لمّام الفضلة": "garbage_collector",
52
- "الروشن": "api_endpoint",
53
- "نخس": "request",
54
- "دزّلي": "request",
55
- "رجعلي الجواب": "response",
56
- "فات الميعاد": "timeout",
57
- "ملّينا": "timeout",
58
- "الحوش الكبير": "server",
59
- "الرأس الكبيرة": "server",
60
- "كل حد برأسه": "asynchronous",
61
- "أطلق في السوق": "deploy",
62
- "طلعها للضوء": "deploy",
63
- "الضمّان": "backup",
64
- "الخزين": "backup",
65
- "نفّض غباره": "update_upgrade",
66
- "ديرله لقطة جديدة": "update_upgrade",
67
- "خلّطهم": "merge",
68
- "صُبّ الحمول على بعضها": "merge",
69
- "دفّ الكود": "push",
70
- "اجبده": "pull",
71
- "ساقية تدور": "infinite_loop",
72
- "متاهة غرقنا فيها": "infinite_loop",
73
- "راجي شوية": "loading_spinner",
74
- "يبرم": "loading_spinner",
75
- "عنده الضي الأخضر": "authorized",
76
- "صكّروا عليه السكة": "blocked_banned",
77
- "المسطرة تعبّي": "progress_bar",
78
- "خط الخطوات": "progress_bar",
79
- "خود نَفَس": "delay_sleep",
80
- "ارقد شوية": "delay_sleep",
81
- "تغميق السريب": "encryption",
82
- "حطّه في قزّير": "encryption",
83
- "الكلمة السرانية": "password",
84
- "الشفرة": "password",
85
- "السرّاق": "hacker",
86
- "مخربش السيستم": "hacker",
87
- "التذكرة": "token",
88
- "الورقة": "token",
89
- "الخزينة": "database",
90
- "الدفتر الكبير": "database",
91
- "نبش في الدفاتر": "query",
92
- "دورلي على": "query",
93
- "العلامات": "index",
94
- "رأس الخيط": "index",
95
- "البصمة": "primary_key",
96
- "ماكياج للكود": "refactoring",
97
- "تعديل وتستيف": "refactoring",
98
- "الساس": "framework",
99
- "الركيزة": "framework",
100
- "سبيل": "open_source",
101
- "متاح للجميع": "open_source",
102
- "في جهازي": "localhost",
103
- "عندي هنا": "localhost",
104
- "فوق": "cloud",
105
- "سيرفرات برّة": "cloud",
106
- "رقم العنوان": "ip_address",
107
- "عنوان الجهاز": "ip_address",
108
- "المدخل": "port",
109
- "الباب": "port",
110
- "وسع الخط": "bandwidth",
111
- "سعة الشبكة": "bandwidth",
112
- "فرع": "branch",
113
- "تفريعة": "branch",
114
- "اسحب نسخة": "clone",
115
- "نزّله عندي": "clone",
116
- "على جنب": "staging_area",
117
- "مرحلة التجهيز": "staging_area",
118
- "تداخل": "conflict",
119
- "خشت بعضها": "conflict",
120
- "ارجع للتالي": "rollback",
121
- "ردّه زي ما كان": "rollback",
122
- "يمشي مع كل شاشة": "responsive_design",
123
- "يتشكل حسب الجهاز": "responsive_design",
124
- "الوضع المعتم": "dark_mode",
125
- "الخلفية الكحلة": "dark_mode",
126
- "الكبسة": "button",
127
- "القرصة": "button",
128
- "الحاشية": "padding",
129
- "الفراغ الداخلي": "padding",
130
- "البعد": "margin",
131
- "الفراغ الخارجي": "margin",
132
- "تنادي روحها": "recursion",
133
- "تكرار ذاتي": "recursion",
134
- "صح وإلا خطأ": "boolean",
135
- "إي وإلا لا": "boolean",
136
- "ستّف": "sort",
137
- "فرّز": "sort",
138
- "صفّي": "filter",
139
- "عزّل": "filter",
140
- "تتبع الجرة": "bug_tracking",
141
- "تصفية الشوائب": "linting",
142
- "صلاحيتها تمت": "deprecation",
143
- "الخدمة الحية": "production",
144
- "رقعة سريعة": "hotfix",
145
- "تحميل زايد": "overloading",
146
- "تمثيل وتجريب": "mocking",
147
- "ضبط الحال": "state_management",
148
- "عاس على الحركة": "event_listener",
149
- "الحِمْل": "payload",
150
- "توجيه السكة": "routing",
151
- "الجلسة": "session",
152
- "الفتافيت": "cookies",
153
- "المخبأ المؤقت": "cache",
154
- "موزع الجهد": "load_balancer",
155
- "الوسيط": "proxy",
156
- "حيط الصد": "firewall",
157
- "التثبت من الهوية": "authentication",
158
- "إذن الصلاحية": "authorization",
159
- "خبط عمياني": "brute_force",
160
- "اصطياد الصيد": "phishing",
161
- "مفتاح القفل": "encryption_key",
162
- "فتح الرموز": "decryption",
163
- "تنظيف المدخلات": "sanitization",
164
- "زرق كود": "injection",
165
- "المتجر والوسط": "environment",
166
- "جهّز للخدمة": "build",
167
- "رحيل البيانات": "migration",
168
- "تعبئة مبدئية": "seed",
169
- "لقطة البداية": "trigger",
170
- "زحمة في وقت واحد": "concurrency",
171
- "عرق الخدمة": "thread",
172
- "التسكيرة الميتة": "deadlock",
173
- "سباق الخطوات": "race_condition",
174
- "الطابور": "queue",
175
- "المكدس": "stack",
176
- "الكومة": "heap",
177
- "المؤشر": "pointer",
178
- "رقم الخانة": "array_index",
179
- "سلسلة الحروف": "string",
180
- "الرقم الصحيح": "integer",
181
- "الرقم المكسور": "float",
182
- "مؤشر الفراغ": "null_pointer",
183
- "المترجم": "compiler",
184
- "المفسر الفوري": "interpreter",
185
- "ثنائي الأرقام": "binary",
186
- "نظام الستة عشر": "hexadecimal",
187
- "موعد وتوقيت": "cron_job",
188
- "إشعار فوري": "webhook",
189
- "قدرة التوسع": "scalability",
190
- "التعطيل": "latency",
191
- "الإنتاجية": "throughput",
192
- "وقت النشاط": "uptime",
193
- "وقت الطيحة": "downtime",
194
- "مسجل الأحداث": "logs",
195
- "تتبع عن بعد": "telemetry",
196
- "مراقبة الوضع": "monitoring",
197
- "لوحة التحكم": "dashboard",
198
- "الإضافة": "plugin",
199
- "التوسعة": "extension",
200
- "المكتبة": "library",
201
- "المعتمد عليه": "dependency",
202
- "الصرة": "package",
203
- "المستودع": "repository",
204
- "تفريع المشروع": "fork",
205
- "طلب دمج": "pull_request",
206
- "فحص الشفرة": "code_review",
207
- "تجميع مستمر": "continuous_integration",
208
- "تجهيز مستمر": "continuous_deployment",
209
- "نسخة تجريبية": "beta_version",
210
- "كود قديم": "legacy_code",
211
- "كود مخبل": "spaghetti_code",
212
- "سلف تقني": "technical_debt",
213
- "صح": "true",
214
- "إي": "true",
215
- "تمام": "true",
216
- "غلط": "false",
217
- "لا": "false",
218
- "مش تمام": "false",
219
- "و": "and",
220
- "ولا": "or",
221
- "مش": "not",
222
- "موش": "not",
223
- "جيب من": "import",
224
- "استورد": "import",
225
- "دخل مكتبة": "import",
226
- "برم": "parameter",
227
- "معامل": "parameter",
228
- "يخض في اللبن": "spinner_loader",
229
- "الكمبيوتر جمّد": "freeze_not_responding",
230
- "الدوارة العجلة تبرم": "spinner_loader",
231
- "كبش حصل": "freeze_not_responding",
232
- "الكمبيوتر جمد": "freeze_not_responding",
233
- "دليل العناوين": "dns",
234
- "شريط الامر": "script",
235
- "امر الشريط": "script"
236
- },
237
- "symbols": {},
238
- "لوّح في الشاشة": "print",
239
- "لوح في الشاشة": "print",
240
- "لوّح": "print",
241
- "لوح": "print",
242
- "قول": "print",
243
- "اكتب": "print",
244
- "اطبع": "print",
245
- "كتّب": "print",
246
- "ktab": "print",
247
- "إذا": "if",
248
- "كان": "if",
249
- "وإلا": "else",
250
- "دير": "for",
251
- "لين": "while",
252
- "صح": "true",
253
- "خطأ": "false",
254
- "و": "and",
255
- "أو": "or"
256
- }
@@ -1,115 +0,0 @@
1
- {
2
- "name": "tunisia_franco",
3
- "code": "tn-latn",
4
- "script": "Latin",
5
- "keywords": {
6
- "ila": "if",
7
- "ken": "if",
8
- "ki": "if",
9
- "illa": "else",
10
- "w_illa": "else",
11
- "ama": "else",
12
- "w_illa_ken": "elif",
13
- "toul_ma": "while",
14
- "madam": "while",
15
- "wa9tli": "while",
16
- "a3mel": "do",
17
- "dir": "do",
18
- "dour": "for",
19
- "9os": "break",
20
- "yezi": "break",
21
- "7abbes": "break",
22
- "fout": "continue",
23
- "jouz": "continue",
24
- "saye": "end",
25
- "akaho": "end",
26
- "wfa": "end",
27
- "s7i7": "true",
28
- "sah": "true",
29
- "ghalet": "false",
30
- "w": "and",
31
- "zada": "and",
32
- "walla": "or",
33
- "moush": "not",
34
- "mech": "not",
35
- "mawech": "not",
36
- "warri": "print",
37
- "affichi": "print",
38
- "otba3": "print",
39
- "jib": "input",
40
- "da5el": "input",
41
- "a9ra": "input",
42
- "rajja3": "return",
43
- "rawa7": "return",
44
- "7aja": "variable",
45
- "7kaya": "variable",
46
- "faza": "variable",
47
- "thebet": "constant",
48
- "lista": "array_list",
49
- "feregh": "null_empty",
50
- "5awi": "null_empty",
51
- "mafamech": "null_empty",
52
- "walou": "null_empty",
53
- "fasa5": "clear_delete",
54
- "nadhaf": "clear_delete",
55
- "5edma": "function_method",
56
- "fonction": "function_method",
57
- "cha8el": "run_execute",
58
- "e5dem": "run_execute",
59
- "sajel": "save_commit",
60
- "5abbi": "save_commit",
61
- "thabbet": "debug",
62
- "lawaj": "debug",
63
- "bag": "error_bug",
64
- "3athra": "error_bug",
65
- "ta7": "crash",
66
- "tfarek": "crash",
67
- "tammet": "success",
68
- "mrigla": "success",
69
- "sal7et": "success",
70
- "forma": "class",
71
- "9aleb": "class",
72
- "nos5a": "clone",
73
- "ka3ba": "object",
74
- "wort": "inheritance",
75
- "zabbal": "garbage_collector",
76
- "beb": "port",
77
- "rawchan": "api_endpoint",
78
- "ab3ath": "request",
79
- "dez": "push",
80
- "jaweb": "response",
81
- "fet_lwa9et": "timeout",
82
- "sirfer": "server",
83
- "sayyeb": "deploy",
84
- "5azin": "backup",
85
- "5alet": "merge",
86
- "ejbed": "pull",
87
- "dour_ble_7seb": "infinite_loop",
88
- "estanna": "loading_spinner",
89
- "3ando_dhaw_a5dher": "authorized",
90
- "bloki": "blocked_banned",
91
- "7bes": "freeze_not_responding",
92
- "or9od": "delay_sleep",
93
- "chifra": "password",
94
- "sarre9": "hacker",
95
- "5azna": "database",
96
- "lawaj_fi_daftar": "query",
97
- "basma": "primary_key",
98
- "ses": "framework",
99
- "fabor": "open_source",
100
- "3andi": "localhost",
101
- "lfou9": "cloud",
102
- "far3": "branch",
103
- "t5altet": "conflict",
104
- "arja3_kima_ken": "rollback",
105
- "batma": "button",
106
- "da5el2": "padding",
107
- "barra": "margin",
108
- "t3ayet_lrou7ha": "recursion",
109
- "s7i7_walla_la": "boolean",
110
- "rattab": "sort",
111
- "saffi": "filter",
112
- "barcha": "many"
113
- },
114
- "symbols": {}
115
- }
@@ -1 +0,0 @@
1
- ktab "azul"
package/examples/hello.ly DELETED
@@ -1 +0,0 @@
1
- ktab "azul"
@@ -1 +0,0 @@
1
- azul
@@ -1 +0,0 @@
1
- azul
package/hello.kab.bayda DELETED
@@ -1,9 +0,0 @@
1
- afecku azul() {
2
- meslay("Azul fell-awen!")
3
- ila (tidet) {
4
- meslay("Nekk d aqbayli, code-agi s teqbaylit!")
5
- } awla {
6
- meslay("Ulac")
7
- }
8
- }
9
- azul()
package/index.html DELETED
@@ -1,33 +0,0 @@
1
- <!DOCTYPE html>
2
- <html lang="ar" dir="rtl">
3
- <head>
4
- <meta charset="UTF-8">
5
- <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
- <title>بيضة مغرب - Bayda Maghreb</title>
7
- <style>
8
- body{font-family:system-ui; background:#0f0f0f; color:white; margin:0; padding:20px; text-align:center}
9
- h1{font-size:3rem; margin:20px 0}
10
- .card{background:#1a1a1a; padding:30px; border-radius:20px; max-width:600px; margin:30px auto; border:1px solid #333}
11
- a{color:#4ade80; text-decoration:none; font-weight:bold}
12
- .btn{background:#4ade80; color:black; padding:12px 25px; border-radius:30px; display:inline-block; margin:10px}
13
- code{background:#222; padding:4px 8px; border-radius:6px; direction:ltr; display:inline-block}
14
- </style>
15
- </head>
16
- <body>
17
- <h1>🥚 بيضة مغرب</h1>
18
- <p>لغة برمجة مغاربية - Bayda Maghreb Programming Language</p>
19
- <div class="card">
20
- <h2>المشروع حي! 🔥</h2>
21
- <p>ABM هي لغة برمجة بالدارجة التونسية والمغاربية</p>
22
- <p><code>دالة سلام() { ارجع "مرحبا بالعالم" }</code></p>
23
- <br>
24
- <a class="btn" href="https://github.com/ajilisaifeddine-lab/bayda-maghreb">شوف الكود على GitHub</a>
25
- </div>
26
- <div class="card">
27
- <h3>كيف تجربها؟</h3>
28
- <p>git clone https://github.com/ajilisaifeddine-lab/bayda-maghreb.git</p>
29
- <p>cd bayda-maghreb && npm install && npm start</p>
30
- </div>
31
- <p style="opacity:0.5; margin-top:50px">Made with ❤️ in Hammamet by ajilisaifeddine-lab</p>
32
- </body>
33
- </html>
package/run-kab.js DELETED
@@ -1,15 +0,0 @@
1
- import fs from 'fs'
2
- import { createRequire } from 'module'
3
- const require = createRequire(import.meta.url)
4
- const kab = require('./data/dialects/kabyle.json')
5
-
6
- let file = process.argv[2]
7
- if(!file){ console.log("Usage: node run-kab.js file.kab.bayda"); process.exit(1) }
8
-
9
- let code = fs.readFileSync(file,'utf8')
10
- let entries = Object.entries(kab.keywords).sort((a,b)=>b[0].length-a[0].length)
11
- for(let [k,v] of entries){
12
- let en = v==='log'?'console.log':v
13
- code = code.replace(new RegExp("\\b"+k+"\\b","g"), en)
14
- }
15
- eval(code)
package/test.kab.bayda DELETED
@@ -1,3 +0,0 @@
1
- ila tidet {
2
- meslay "Azul fellawen!"
3
- }
package/test.mjs DELETED
@@ -1,9 +0,0 @@
1
- import { kab, getDialect, getAllDialects } from './index.js'
2
-
3
- const kabData = getDialect('kab')
4
- console.log('✅ kab:', kabData.name, '-', Object.keys(kabData.keywords).length, 'words')
5
-
6
- const dzData = getDialect('dz')
7
- console.log('✅ dz:', dzData.name, '-', Object.keys(dzData.keywords).length, 'words')
8
-
9
- console.log('✅ كلهم:', getAllDialects().length, 'لهجات')
@@ -1,3 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { lex } from '../../core/lexer.js';
3
- describe('lexer',()=>{ it('tokenizes',()=>{ expect(lex('ktab "azul"')[0].value).toBe('ktab'); }); });
@@ -1,3 +0,0 @@
1
- import { describe, it, expect } from 'vitest';
2
- import { parse } from '../../core/parser.js';
3
- describe('parser',()=>{ it('parses',()=>{ expect(parse('ktab "azul"').body[0].type).toBe('Print'); }); });
package/tsconfig.json DELETED
@@ -1,12 +0,0 @@
1
- {
2
- "compilerOptions": {
3
- "target": "ES2022",
4
- "module": "ESNext",
5
- "moduleResolution": "node",
6
- "strict": true,
7
- "esModuleInterop": true,
8
- "skipLibCheck": true,
9
- "outDir": "dist"
10
- },
11
- "include": ["core/**/*.ts","writers/**/*.ts","tests/**/*.ts"]
12
- }
package/vitest.config.ts DELETED
@@ -1,2 +0,0 @@
1
- import { defineConfig } from 'vitest/config';
2
- export default defineConfig({ test: { include: ['tests/**/*.test.ts'] } });
@@ -1 +0,0 @@
1
- export function toPython(node:any):string{ if(node.type==="Program") return node.body.map(toPython).join("\n"); if(node.type==="Print") return `print("${node.value}")`; return ""; }
package//330/263/330/261 DELETED
File without changes