Novembre 2024 | Lun | Mar | Mer | Jeu | Ven | Sam | Dim |
---|
| | | | 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 19 | 20 | 21 | 22 | 23 | 24 | 25 | 26 | 27 | 28 | 29 | 30 | | Calendrier |
|
|
| COMPILATEUR version Beta 11 du 22/06/2019 | |
| | Auteur | Message |
---|
Jack Admin
Nombre de messages : 2394 Date d'inscription : 28/05/2007
| Sujet: COMPILATEUR version Beta 11 du 22/06/2019 Mar 25 Juin 2019 - 19:06 | |
| La dernière version du compilateur est disponible ici: https://e-nautia.com/karma/disk/PANORAMIC/PANORAMIC_COMPILER_EDITOR.exeC'est encore une version Béta, donc sujette à des bugs. A - Contraintes :
A.1 - le nom du fichier source doit avoir un nom de 64 caractères maximum. A.2 - l'exécutable généré se trouve dans le répertoire de l'éditeur. B - Différences avec l'interpréteur :
B.1 - CHAIN CHAIN agit sur un exécutable et non sur un source. Si le fichier désigné par CHAIN n’existe pas, il n’y a pas d’affichage d’erreur. B.2 - PRINT n'accepte ni virgule, ni point virgule. print "valeur =";a% est à remplacer par print "valeur ="+str$(a%) B.3 - Fichiers TEXTE FILE_WRITELN N,V n'accepte que des variables V$ chaine de caractères FILE_READ N,V n'existe plus. Il faut utiliser la fonction V$=FILE_READ$(N) FILE_READLN N,V n'existe plus. Il faut utiliser la fonction V$=FILE_READLN$(N) B.4 -Taille d'un tableau défini par une variable Définir la taille d'un tableau avec une autre variable n'est pas possible. La taille doit être un nombre. B.5 - Définir des variables de même nom mais de type différent n'est pas accepté. dim a%,a$,a n'est pas accepté B.6 - Ce qui n'est pas implémenté (et qui ne le sera jamais): NUMBER_CURRENT_LINE VARIABLE() LABEL() TRACE_ON TRACE_OFF FREE PEEK() POKE FILEBIN_BLOCK_READ FILEBIN_BLOCK_WRITE B.7 - Une erreur de débordement de tableau à l'exécution n'est pas signalée. B.8 - INPUT fait apparaître une fenêtre de saisie. B.9 - A$=123 n'est plus accepté, il faut mettre des guillemets : A$="123" B.10 - En prévision d'une version ultérieure, le source est formé de 5 zones; - une zone où on déclare les variables globales (zone DIM), - une zone où on déclare les labels (zone LABEL), - une zone où on déclare les données intégrées au programme (les DATA accessibles par READ et adressables par RESTORE et RESTORE_LABEL), - une zone pour le programme principal (jusqu'à END), - une zone pour les fonctions et sous-programmes. En fait, ces zones ne sont pas visibles mais sont imposées par un système d'erreurs. On peut commencer un source en définissant un ou des labels, mais si ensuite, une ou des variables locales sont déclarées (DIM), il y a erreur, car un DIM doit être déclaré avant un LABEL, etc. C - Lutte anti-virus :Ce compilateur ne contient pas de virus, et a été développé avec du matériel sain, même si certains antivirus détectent quelque chose. Je l'ai testé personnellement avec Kasperski, Norton, Acronis, qui n'ont rien trouvé. Il a été inspecté aussi par un service de Cyber Sécurité d'une grande entreprise travaillant dans le domaine militaire, qui n'a rien trouvé non plus. _________________ username : panoramic@jack-panoramic password : panoramic123 | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mar 25 Juin 2019 - 20:04 | |
| Je télécharge et je teste. Merci jack ! | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Compilation. Mar 25 Juin 2019 - 20:42 | |
| Bonsoir. Un grand merci Jack pour le compilateur. L'antivirus IOBit détecte un trojan ! Je dois le désactiver à chaque fois donc. Je rencontre un problème à l'exécution du code suivant, qui compile cependant bien. Je pense que le problème de la fonction ReplaceAllStringsBetweenDelimiters est du ressort de Klaus. Le lancement du code compilé provoque un arrêt brutal de l'application. - Code:
-
dim te$, remplacement$, res2%, epc$, parenthese_gauche$, parenthese_droite$
parenthese_gauche$="(" parenthese_droite$=")"
epc$="à abolir maintenant !"
dll_on "kgf"
message "1"
te$=string$(255," ") remplacement$=""
message "2"
res2%=dll_call5("ReplaceAllStringsBetweenDelimiters",adr(epc$),adr(parenthese_gauche$),adr(parenthese_droite$),adr(remplacement$),adr(te$))
message "3"
epc$=trim$(te$)
message "ok" Autre problème: la commande message_error_ok n'est pas reconnue par le compilateur. | |
| | | Minibug
Nombre de messages : 4570 Age : 58 Localisation : Vienne (86) Date d'inscription : 09/02/2012
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mar 25 Juin 2019 - 21:09 | |
| J'ai tenté de compiler mon code HORAIRES DE PRIÈRES. Après quelques tâtonnements dans les corrections, j'ai réussi a réaliser un exécutable conforme. Mais lors de l'exécution du fichier exe rien ne se lance ! Il y a peut être encore quelques petites choses à corriger. Je garde le fichier de coté si toutefois il y a une suite... | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mar 25 Juin 2019 - 22:33 | |
| @Pedro: J'ai chargé le compilateur et je teste cela. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mar 25 Juin 2019 - 23:51 | |
| J’ai testé le code suivant (qui marchait parfaitement avec l’ancienne version du compilteur): - Code:
-
rem ============================================================================ rem Arbre rem ============================================================================ Init() repeat Arbre(w*0.5,h*0.9,int(rnd(200)+10), 0-rnd(50)/300) pause 2000 : color 10,0,0,0 until scancode = 27 terminate rem ============================================================================ SUB Init() dim w,h,wp% full_space 0 picture 10 : full_space 10 : 2d_target_is 10 color 10,0,0,0 : 2d_pen_color 0,255,0 w = width_client(10) : h = height_client(10) caption 0,"<ESC> pour arrêter ..." END_SUB rem ============================================================================ SUB Arbre(x,y,size,angle) if size > 2 wp% = size / 4 if wp% < 1 then wp% = 1 if wp% > 20 then wp% = 20 2d_pen_width wp% 2d_poly_from x,y 2d_poly_to int(x - size * sin(angle)), int(y - size * cos(angle)) ' Appel récursif Arbre(x-size*sin(angle),y-size*cos(angle),6*size/8,angle+0.6+rnd(100)/200) Arbre(x-size*sin(angle),y-size*cos(angle),6*size/8,angle-0.6+rnd(100)/200) end_if END_SUB rem ============================================================================
La compilation ne passe pas : (225) DIM found in unauthorized location.Line:12J’ai modifié la structure du code comme ceci : - Code:
-
rem ============================================================================ rem Arbre rem ============================================================================ dim w,h,wp% full_space 0 picture 10 : full_space 10 : 2d_target_is 10 color 10,0,0,0 : 2d_pen_color 0,255,0 w = width_client(10) : h = height_client(10) caption 0,"<ESC> pour arrêter ..." repeat Arbre(w*0.5,h*0.9,int(rnd(200)+10), 0-rnd(50)/300) pause 2000 : color 10,0,0,0 until scancode = 27 terminate rem ============================================================================ SUB Arbre(x,y,size,angle) if size > 2 wp% = size / 4 if wp% < 1 then wp% = 1 if wp% > 20 then wp% = 20 2d_pen_width wp% 2d_poly_from x,y 2d_poly_to int(x - size * sin(angle)), int(y - size * cos(angle)) ' Appel récursif Arbre(x-size*sin(angle),y-size*cos(angle),6*size/8,angle+0.6+rnd(100)/200) Arbre(x-size*sin(angle),y-size*cos(angle),6*size/8,angle-0.6+rnd(100)/200) end_if END_SUB rem ============================================================================
Tout est Ok (compilation et exécution). REMARQUE : Le code démontre que la récursivité avec le compilateur est possible. En effet, un double appel récursif à une SUB se passe correctement et le résultat est … beau ! - Spoiler:
| |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| Sujet: grrr Mar 25 Juin 2019 - 23:56 | |
| | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mer 26 Juin 2019 - 0:11 | |
| @Pedro: Le problème est corrigé. Prends la nouvelle version de KGF.dll à partir de ma signature - ça marchera.
Le problème venait d'une chaîne de caractères vide passée en paramètre à la DLL, en mode compilé. Contrairement à ce qui se passe normalement selon la méthode V2 indiquée par Jack, la fonction ADR() se comporte différemment dans ce cas. Normalement, ADR(s$) donne l'adresse d'un mot de 32 bits qui contient l'adresse du premier caractère de la chaîne. Or, si la chaîne est vide, ADR() retourne bien l'adresse d'un mot de 32 bits, mais ce mot contient zéro, et non pas l'adresse de l'octet 0 qui termine la chaîne de caractères. | |
| | | papydall
Nombre de messages : 7017 Age : 74 Localisation : Moknine (Tunisie) Entre la chaise et le clavier Date d'inscription : 03/03/2012
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mer 26 Juin 2019 - 0:14 | |
| - Yannick a écrit:
- 360 security a détecter un troyen...
Chez moi, aussi. Mais j’ai fait comprendre à mon 360 qu’il ne se fasse plus de soucis à ce propos (mise dans la liste blanche). - Yannick a écrit:
- Pourquoi ils mettent des chevaux dans les ordis ?....
C’est peut-être parce que leurs écuries sont devenues trop exiguës ! | |
| | | Jean Claude
Nombre de messages : 5950 Age : 70 Localisation : 83 Var Date d'inscription : 07/05/2009
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mer 26 Juin 2019 - 8:25 | |
| Bonjours à tous, Testé avec Pixel_2 qui fonctionnait déjà avec l'ancienne version du compilateur. Aucun problème à signaler Windows 8.1 avec WindowsDefender comme antivirus => aucune détection de Trojan ou autres bébêtes. A+ | |
| | | Pedro
Nombre de messages : 1594 Date d'inscription : 19/01/2014
| Sujet: Compilation. Mer 26 Juin 2019 - 8:49 | |
| Bonjour.
@Jack et Klaus.
Merci pour les nouvelles versions du compilateur et de KGF.
Je viens de tester l'indexation de mon dictionnaire français-espagnol. La durée globale avec l'interpréteur est de 54 min, et réduit à 6 min avec le compilateur !
Quant au dictionnaire espagnol-français. La durée globale avec l'interpréteur est de 2h39 min, et réduit à 9 min avec le compilateur !
Du beau travail.
Dernière édition par Pedro Alvarez le Mer 26 Juin 2019 - 10:04, édité 2 fois | |
| | | Klaus
Nombre de messages : 12331 Age : 75 Localisation : Ile de France Date d'inscription : 29/12/2009
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Mer 26 Juin 2019 - 9:32 | |
| Super ! Merci, Pedro, pour le retour.
S'il y avait d'autres problèmes - n'hésite pas ! Je corrigerai très vite. | |
| | | Oscaribout
Nombre de messages : 471 Date d'inscription : 29/12/2016
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 Jeu 27 Juin 2019 - 15:25 | |
| Je remercie Jack pour ce compilateur tant attendue. Quant à moi, impossible de le télécharger. J'ai fait plusieurs tentatives, et à chaque fois, il y a un commencement de chargement, et puis message: impossible de contacter le s... | |
| | | Yannick
Nombre de messages : 8635 Age : 53 Localisation : Bretagne Date d'inscription : 15/02/2010
| | | | Contenu sponsorisé
| Sujet: Re: COMPILATEUR version Beta 11 du 22/06/2019 | |
| |
| | | | COMPILATEUR version Beta 11 du 22/06/2019 | |
|
Sujets similaires | |
|
| Permission de ce forum: | Vous ne pouvez pas répondre aux sujets dans ce forum
| |
| |
| |