Salut les gars ! je suis entrain de creer un nouveau language de programmation en interpreté , mon interpreteur est en C
je viens de finir mon module de gestion de liste voici un exemple des possibilitées de manipulation :
var aa vaut [`aa`,[`bb`,`cc`]]
var test brut :[$aa,$aa[3][1],`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],$aa[1],`oq`],`qr`]
IMPORTANT : aa[3][1] n'existe pas donc aa[3][1] == aa[1][1] car la liste aa[1] est l'element maximal de aa
ATTENTION : aa ne peut pas contenir test si test contient aa
sinon , appel recursif en boucle
ATTENTION : le maximum de pile est fixé a 1000 , se qui implique une profondeur de liste imbriquée de 999, au dela de 999 les listes sont ignorées
var test vaut [[`aa`,[`bb`,`cc`]],`cc`,`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],[`bb`,`cc`],`oq`],`qr`]
je cherche a afficher test elem[10][3]
test[10][3] return `qr` soit test[5] car test[10] n'existe pas et en plus ce n'est pas une liste
insertion dans aa elem[0] valeur `insert`
var aa vaut maintenant [`insert`,`aa`,[`bb`,`cc`]]
var test vaut maintenant [[`insert`,`aa`,[`bb`,`cc`]],`cc`,`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],`aa`,`oq`],`qr`]
IMPORTANT : aa[3][1] n'existe pas donc aa[3][1] == aa[2][1] car la liste aa[2] est l'element maximal de aa
insertion dans aa elem[1] valeur `insert2`
var aa vaut maintenant [`insert`,`insert2`,`aa`,[`bb`,`cc`]]
var test vaut maintenant [[`insert`,`insert2`,`aa`,[`bb`,`cc`]],`cc`,`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],`insert2`,`oq`],`qr`]
IMPORTANT : aa[3][1] existe maintenant il peut donc retourner sa valeur
sauf si aa[3] n'est pas une liste , ce qui impliquerait que [1] serait ingnorÚ
test [[`insert`,`insert2`,`aa`,[`bb`,`cc`]],`cc`,`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],`insert2`,`oq`],`qr`]
je veux inserer dans aa l'elem[3][12] valeur `insert2`, par le biais de test
, je dois donc faire :
insertion dans test elem[0][3][12] valeur `insert2`
mais [3][12] est impossible , donc le prog recalcule l'indice d'insertion pour lui donner la valeur maximale d'elements dans aa
var aa vaut maintenant [`insert`,`insert2`,`aa`,[`bb`,`cc`,`insert2`]]
var test vaut maintenant [[`insert`,`insert2`,`aa`,[`bb`,`cc`,`insert2`]],`cc`,`bb`,`gh`,[`ij`,[`kl,mn`,`mn`],`insert2`,`oq`]
,`qr`]
je suis ouvert a toute remarque ou sugestion pour l'ameliorer
pour info , le language est un mix , la syntaxe de bloc est identique au C, la syntaxe de liste est identique au python
je sais ce que vous allez dire , je suis un malade , mais ca je le sais dejas lol 