Clemylia commited on
Commit
68c1481
·
verified ·
1 Parent(s): c988de7

Upload 3 files

Browse files
Files changed (3) hide show
  1. install_maya.sh +81 -0
  2. maya.my +42 -0
  3. test.my +83 -0
install_maya.sh ADDED
@@ -0,0 +1,81 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ #!/bin/bash
3
+
4
+ # Script d'installation Maya v5.0
5
+ # Installe les commandes globales Maya
6
+
7
+ RED='\033[31m'
8
+ GREEN='\033[32m'
9
+ YELLOW='\033[33m'
10
+ BLUE='\033[34m'
11
+ PINK='\033[95m'
12
+ RESET='\033[0m'
13
+
14
+ echo -e "${PINK}🌸 === INSTALLATION MAYA v5.0 === 🌸${RESET}"
15
+
16
+ # Vérifier que le script maya existe
17
+ if [ ! -f "maya" ]; then
18
+ echo -e "${RED}❌ Fichier 'maya' non trouvé dans le répertoire courant${RESET}"
19
+ exit 1
20
+ fi
21
+
22
+ # Vérifier que main existe et est compilé
23
+ if [ ! -f "main" ]; then
24
+ echo -e "${YELLOW}⚠️ Exécutable 'main' non trouvé. Compilation...${RESET}"
25
+ if [ -f "Makefile" ]; then
26
+ make
27
+ else
28
+ gcc -Wall -Wextra -std=c99 -g -D_GNU_SOURCE -O2 -o main main.c -lm -ldl -lpthread
29
+ fi
30
+
31
+ if [ ! -f "main" ]; then
32
+ echo -e "${RED}❌ Impossible de compiler Maya${RESET}"
33
+ exit 1
34
+ fi
35
+ echo -e "${GREEN}✅ Compilation réussie${RESET}"
36
+ fi
37
+
38
+ # Créer le répertoire d'installation si nécessaire
39
+ INSTALL_DIR="$HOME/.local/bin"
40
+ mkdir -p "$INSTALL_DIR"
41
+
42
+ # Copier le script maya
43
+ echo -e "${BLUE}📦 Installation du script maya...${RESET}"
44
+ cp maya "$INSTALL_DIR/maya"
45
+ chmod +x "$INSTALL_DIR/maya"
46
+
47
+ # Copier l'exécutable principal
48
+ echo -e "${BLUE}📦 Installation de l'interpréteur...${RESET}"
49
+ cp main "$INSTALL_DIR/maya-interpreter"
50
+ chmod +x "$INSTALL_DIR/maya-interpreter"
51
+
52
+ # Vérifier si le répertoire est dans le PATH
53
+ if [[ ":$PATH:" != *":$INSTALL_DIR:"* ]]; then
54
+ echo -e "${YELLOW}⚠️ Le répertoire $INSTALL_DIR n'est pas dans votre PATH${RESET}"
55
+ echo -e "${BLUE}💡 Ajoutez cette ligne à votre ~/.bashrc ou ~/.zshrc:${RESET}"
56
+ echo -e "${GREEN}export PATH=\"\$HOME/.local/bin:\$PATH\"${RESET}"
57
+ echo ""
58
+
59
+ # Ajouter automatiquement au bashrc si possible
60
+ if [ -f "$HOME/.bashrc" ]; then
61
+ if ! grep -q "$INSTALL_DIR" "$HOME/.bashrc"; then
62
+ echo -e "${YELLOW}📝 Ajout automatique au ~/.bashrc...${RESET}"
63
+ echo 'export PATH="$HOME/.local/bin:$PATH"' >> "$HOME/.bashrc"
64
+ echo -e "${GREEN}✅ PATH mis à jour dans ~/.bashrc${RESET}"
65
+ echo -e "${BLUE}💡 Exécutez: source ~/.bashrc ou redémarrez votre terminal${RESET}"
66
+ fi
67
+ fi
68
+ fi
69
+
70
+ echo ""
71
+ echo -e "${GREEN}🎉 Installation terminée avec succès!${RESET}"
72
+ echo -e "${PINK}🌸 Maya v5.0 est maintenant installé globalement! 🌸${RESET}"
73
+ echo ""
74
+ echo -e "${BLUE}🚀 Commandes disponibles:${RESET}"
75
+ echo -e " ${GREEN}maya run <fichier.my>${RESET} - Exécuter un fichier Maya"
76
+ echo -e " ${GREEN}maya interactive${RESET} - Mode interactif"
77
+ echo -e " ${GREEN}maya create <nom>${RESET} - Créer un nouveau projet"
78
+ echo -e " ${GREEN}maya version${RESET} - Afficher la version"
79
+ echo -e " ${GREEN}maya help${RESET} - Aide complète"
80
+ echo ""
81
+ echo -e "${YELLOW}💡 Testez avec: maya version${RESET}"
maya.my ADDED
@@ -0,0 +1,42 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # Test des conditions Maya
3
+
4
+ my.console('=== Test des conditions Maya ===')
5
+
6
+ # Test 1: Variables et conditions simples
7
+ my.variable age = 16
8
+ my.console('Test avec age = 16')
9
+
10
+ my.if(age < 18)
11
+ my.alors {
12
+ my.console('Vous êtes mineur!')
13
+ }
14
+ my.autre {
15
+ my.console('Vous êtes majeur!')
16
+ }
17
+
18
+ # Test 2: Autre condition
19
+ my.variable temperature = 25
20
+ my.console('Test avec temperature = 25')
21
+
22
+ my.if(temperature > 30)
23
+ my.alors {
24
+ my.console('Il fait chaud!')
25
+ }
26
+ my.autre {
27
+ my.console('Temperature normale')
28
+ }
29
+
30
+ # Test 3: Variable booléenne
31
+ my.variable pluie = 0
32
+ my.console('Test avec pluie = false (0)')
33
+
34
+ my.if(pluie)
35
+ my.alors {
36
+ my.console('Il pleut!')
37
+ }
38
+ my.autre {
39
+ my.console('Pas de pluie!')
40
+ }
41
+
42
+ my.console('=== Fin des tests ===')
test.my ADDED
@@ -0,0 +1,83 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+
2
+ # Test complet des nouvelles fonctionnalités Maya v2.0
3
+
4
+ my.console('🌸 === Tests Maya v2.0 === 🌸')
5
+
6
+ # Test 1: Variables améliorées avec concaténation
7
+ my.variable nom = 'Maya'
8
+ my.variable version = '2.0'
9
+ my.console('Bienvenue dans le langage ' + nom + ' version ' + version + '!')
10
+
11
+ # Test 2: Couleurs de console
12
+ my.color.console('PINK')
13
+ my.console('Ce texte est en rose!')
14
+
15
+ my.color.console('BLUE')
16
+ my.console('Ce texte est en bleu!')
17
+
18
+ my.color.console('GREEN')
19
+ my.console('Ce texte est en vert!')
20
+
21
+ my.color.console('DEFAULT')
22
+
23
+ # Test 3: Délais entre messages
24
+ my.console('Message 1...')
25
+ my.delai(1000)
26
+ my.console('Message 2 après 1 seconde!')
27
+ my.delai(500)
28
+ my.console('Message 3 après 0.5 seconde!')
29
+
30
+ # Test 4: Dessins ASCII
31
+ my.console('🎨 Voici quelques dessins ASCII:')
32
+ my.draw.heart
33
+ my.delai(500)
34
+ my.draw.tree
35
+ my.delai(500)
36
+ my.draw.dog
37
+ my.delai(500)
38
+ my.draw.horse
39
+ my.delai(500)
40
+ my.draw.goat
41
+ my.draw.pers('--------🍅🛑💚💚🌷🐉🌷🏹🍉🌸🍉🌸🍉🌸🍉🌸🌸🍉🌸🍉🌸🍉-------')
42
+
43
+ # Test 5: Dessin personnalisé
44
+ my.draw.pers(' ★ Maya ★ ')
45
+
46
+ # Test 6: Texte stylé
47
+ my.jolie.txt('Maya est fantastique!', 'Style1')
48
+
49
+ # Test 7: Nombres aléatoires
50
+ my.console('🎲 Génération de nombres aléatoires:')
51
+ my.nombre.random(1, 10)
52
+ my.nombre.random(50, 100)
53
+
54
+ # Test 8: Texte aléatoire
55
+ my.console('🎭 Sélection de texte aléatoire:')
56
+ my.random.txt('Bonjour', 'Salut', 'Coucou', 'Hello', 'Bonsoir')
57
+
58
+ # Test 9: Conditions avec variables
59
+ my.variable age = 20
60
+ my.if(age >= 18)
61
+ my.alors {
62
+ my.color.console('GREEN')
63
+ my.console('Vous êtes majeur!')
64
+ my.color.console('DEFAULT')
65
+ }
66
+ my.autre {
67
+ my.color.console('YELLOW')
68
+ my.console('Vous êtes mineur!')
69
+ my.color.console('DEFAULT')
70
+ }
71
+
72
+ # Test 10: Mathématiques avec variables
73
+ my.variable nombre1 = 15
74
+ my.variable nombre2 = 25
75
+ my.console('Calculs avec variables:')
76
+ my.math.add(nombre1 + nombre2)
77
+
78
+ my.console('🎉 Tests terminés! Maya v2.0 fonctionne parfaitement! 🎉')
79
+ my.random.txt('Option1', 'Option2', 'Option3')
80
+ my.math.add(5 + 3) # renvoie 8
81
+ my.math.sub(6 - 3) # renvoie 3
82
+ my.math.div(10 / 2) # renvoie 5
83
+ my.math.mult(5 * 2) #renvoie 10