FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  RechercherRechercher  Dernières imagesDernières images  S'enregistrerS'enregistrer  MembresMembres  Connexion  
Derniers sujets
» Logiciel de planétarium.
compilateur version de travail 0.1 alpha 3 Emptypar Pedro Sam 23 Nov 2024 - 15:50

» Un autre pense-bête...
compilateur version de travail 0.1 alpha 3 Emptypar Froggy One Jeu 21 Nov 2024 - 15:54

» Récupération du contenu d'une page html.
compilateur version de travail 0.1 alpha 3 Emptypar Pedro Sam 16 Nov 2024 - 14:04

» Décompilation
compilateur version de travail 0.1 alpha 3 Emptypar JL35 Mar 12 Nov 2024 - 19:57

» Un album photos comme du temps des grands-mères
compilateur version de travail 0.1 alpha 3 Emptypar jjn4 Mar 12 Nov 2024 - 17:23

» traitement d'une feuille excel
compilateur version de travail 0.1 alpha 3 Emptypar jjn4 Jeu 7 Nov 2024 - 3:52

» Aide-mémoire mensuel
compilateur version de travail 0.1 alpha 3 Emptypar jjn4 Lun 4 Nov 2024 - 18:56

» Des incomprèhension avec Timer
compilateur version de travail 0.1 alpha 3 Emptypar Klaus Mer 30 Oct 2024 - 18:26

» KGF_dll - nouvelles versions
compilateur version de travail 0.1 alpha 3 Emptypar Klaus Mar 29 Oct 2024 - 17:58

» instructions panoramic
compilateur version de travail 0.1 alpha 3 Emptypar maelilou Lun 28 Oct 2024 - 19:51

» Figures fractales
compilateur version de travail 0.1 alpha 3 Emptypar Marc Ven 25 Oct 2024 - 12:18

» Panoramic et Scanette
compilateur version de travail 0.1 alpha 3 Emptypar Yannick Mer 25 Sep 2024 - 22:16

» Editeur d étiquette avec QR évolutif
compilateur version de travail 0.1 alpha 3 Emptypar JL35 Lun 23 Sep 2024 - 22:40

» BUG QR Code DelphiZXingQRCode
compilateur version de travail 0.1 alpha 3 Emptypar Yannick Dim 22 Sep 2024 - 11:40

» fichier.exe
compilateur version de travail 0.1 alpha 3 Emptypar leclode Ven 20 Sep 2024 - 19:02

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Novembre 2024
LunMarMerJeuVenSamDim
    123
45678910
11121314151617
18192021222324
252627282930 
CalendrierCalendrier
-25%
Le deal à ne pas rater :
PC Portable Gamer 16,1” HP Victus 16 – 16 Go /512 Go
749.99 € 999.99 €
Voir le deal

 

 compilateur version de travail 0.1 alpha 3

Aller en bas 
+4
mindstorm
Jicehel
JL35
Jack
8 participants
AuteurMessage
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 21:31

Une nouvelle version de travail du compilateur est disponible sur mon WebDav.

COMPILATEUR V 0.1 alpha 3, version du 6 mai 2014, basée sur PANORAMIC V 0.9.25

A - Améliorations

- correction du bug sur FRAC
- correction du bug sur MID$
- correction du bug sur DLL_ON
- correction d'un bug sur l'affectation d'une variable
- codage de DATA, READ, RESTORE
- codage de SUB avec paramètres
- codage de END_SUB
- codage de DIM pour les tableaux à 2 indices (DIM est donc totalement utilisable)
- codage de DIM_LOCAL

B - Contraintes (provisoires: elles seront levées ultérieurement) :

B.1 - le nom du fichier source doit avoir un nom de 64 caractères maximum.
B.2 - l'exécutable généré se trouve dans le répertoire de l'éditeur.

C - Différences avec l'interpréteur :

C.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.

C.2 - PRINT n'accepte ni virgule, ni point virgule.
print "valeur =";a%
est à remplacer par
print "valeur ="+str$(a%)

C.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)

C.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.

C.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é

C.6 - Redéfinition d'une texture à un objet 3D
Redéfinir une nouvelle texture à un objet 3D qui en possédait déjà une provoque un plantage.
Je mets de côté cette correction pour l'instant.

C.7 - Les variables systèmes suivantes retournent toujours 0 (ce problème sera corrigé ultérieurement) :
KEY_DOWN_CODE
KEY_DOWN_SPECIAL
KEY_UP_CODE
KEY_UP_SPECIAL

C.8 - Ce qui n'est pas complètement codé pour le moment :
PARAM_NUMBER
PARAM_VALUE$()
SCANCODE
INKEY$
PAUSE
EXECUTE
EXECUTE_WAIT
EXIT_FOR
EXIT_WHILE
EXIT_REPEAT
FILE_READBUF
APPLICATION_TITLE
FILE_WRITEBUF
FILE_FIND_CLOSE
FILE_NAMES_ADD

C.9 - Ce qui va changer pour les fichiers binaires :
FILEBIN_READ : sera remplacé par une fonction V=FILEBIN_READ()
FILEBIN_HEXA_READ : sera remplacé par une fonction V=FILEBIN_HEXA_READ()
FILEBIN_BLOCK_READ : sera remplacé par une fonction V=FILEBIN_BLOCK_READ()
FILEBIN_BLOCK_WRITE : sera remplacé par une fonction V=FILEBIN_BLOCK_WRITE()

C.10 - Ce qui ne sera pas implémenté :
NUMBER_CURRENT_LINE
VARIABLE()
LABEL()
TRACE_ON
TRACE_OFF
FREE
PEEK()
POKE
ADR()

C.11 - Une erreur de débordement de tableau n'est pas signalée.

C.12 - INPUT fait apparaitre une fenêtre de saisie.

_________________
compilateur version de travail 0.1 alpha 3 Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
JL35




Nombre de messages : 7112
Localisation : 77
Date d'inscription : 29/11/2007

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 21:41

Rudement intéressant, merci Jack !
Pas le temps de tester ces jours-ci (absence), mais je ne doute pas que beaucoup vont se jeter dessus !
Revenir en haut Aller en bas
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 22:06

Super nouvelle, content de voir que ça avance bien.
Je pense que dans les prochaine version de l'éditeur permettra de vérifier que le code généré est compatible avec le compilateur avant compilation (vérification des règles que tu viens d'indiquer ci dessus ?)
Revenir en haut Aller en bas
mindstorm

mindstorm


Nombre de messages : 685
Age : 55
Localisation : charente
Date d'inscription : 13/02/2013

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 23:19

Merci Jack
ou trouve tu cette energie?
Revenir en haut Aller en bas
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 23:39

Merci Jack.

minderstorm a écrit:
Merci Jack
ou trouve tu cette energie?

Sans doute, dans sa jeunesse !   Laughing
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 6 Mai 2014 - 23:55

Toutes mes félicitations, Jack, pour l'énorme travail que tu fournis.

Une petite question. Je m'étonne de ceci:
Citation :
C.10 - Ce qui ne sera pas implémenté :
NUMBER_CURRENT_LINE
VARIABLE()
LABEL()
TRACE_ON
TRACE_OFF
FREE
PEEK()
POKE
ADR()
Jusqu'à maintenant, tu nous avais habitué à une compatibilité ascendante sans faille. Alors que je peux comprendre la transformations des commandes de lecture de fichiers en fonction, je reste perplexe devant l'affirmation "Ce qui ne sera pas implémenté:". Est-ce que ça signifie "pas du tout" ou "pas dans l'immédiat" ? Si c'est "pas du tout", est-ce que cela provoquera une erreur ou sera simplement ignoré, voir retournera une valeur fixe (0 par exemple) pour les fonctions ? Parceque - pardon - beaucoup de programmes (les miensn en tout cas), utilisent intensivement VARIABLE(), LABEL(), ADR() et FREE. J'avoue que là, tu m'inquiètes.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMer 7 Mai 2014 - 0:29

J’ai fais quelques tests avec cette nouvelle version.
Je constate que le problème sur DLL n’est pas corrigé pour autant.
Certes, il n’y a plus d’erreur à la compiltion et on obtient un .exe.
Seulement, si on veut exécuter cet exe on a droit à xxx.exe a cessé de fonctionner.

J’ai testé plusieurs codes utilisant DLL :  compilation ==== >  OK ;  exécution ==== > le programme a cessé de fonctionner.

Voici un code minimal

Code:

dll_on "kernel32.dll"
dll_off
message "terminé"

J’enregistre  ce code sous test.bas.
Je le compile :  c’est OK et j’obtiens test.exe.
Je lance test.exe, et voici ce que j’obtiens :


compilateur version de travail 0.1 alpha 3 Test11


Un grand BRAVO pour l'amélioration du comportement de la commande INPUT.
Sous l'interpréteur, elle n'est pas confortable à utiliser; par contre, sous le compilateur, elle aura sa place : c'est bien pratique!

Pour ceux qui veulent la tester :

Code:

dim n$
input "votre nom ?";n$
message "Bonjour " + n$

Il vaut peut-être mieux que INPUT ne laisse pas de trace sur le FORM, mais ça peut se discuter.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
Yannick




Nombre de messages : 8635
Age : 53
Localisation : Bretagne
Date d'inscription : 15/02/2010

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: re   compilateur version de travail 0.1 alpha 3 EmptyMer 7 Mai 2014 - 8:41

Bravo Jack !

Je vais télécharger cette version tout de suite !
Revenir en haut Aller en bas
Jack
Admin
Jack


Nombre de messages : 2394
Date d'inscription : 28/05/2007

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMer 7 Mai 2014 - 19:18

En faisant des tests, je me suis rendu compte que par erreur, j'avais mis sur le WebDav une version dans laquelle la 3D était inactivée.
Je viens d'y mettre la version complète, elle porte le même nom et le même indice que la version déposée hier.

_________________
compilateur version de travail 0.1 alpha 3 Webdav username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
https://panoramic.1fr1.net
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMer 7 Mai 2014 - 20:09

Le problème de DLL persiste.
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyJeu 8 Mai 2014 - 10:34

Merci Jack pour cette nouvelle version !

Je l'ai testée avec mon programme de biomorphe. Il marche très bien.

Le langage cible est toujours le FreeBASIC. Est-ce le choix définitif ?

Je me permets de renouveler mes demandes pour avoir des options permettant :

- de dissocier la DLL panoramic.dll du programme exécutable afin de rendre celui-ci plus court
- de consulter (et donc modifier) le code FreeBASIC généré
- d'installer FreeBASIC une fois pour toutes
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyJeu 8 Mai 2014 - 20:02

Et aussi avoir le choix entre « Compilation tout court : exécution en mémoire sans générer un exe (utile pour les tests) » et «compilation avec exécution » (création de .exe).
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyVen 9 Mai 2014 - 9:00

papydall a écrit:
Et aussi avoir le choix entre « Compilation tout court : exécution en mémoire sans générer un exe (utile pour les tests) » et «compilation avec exécution » (création de .exe).

Là ce sera sans doute plus difficile car pour le moment c'est FreeBASIC le compilateur et celui-ci crée toujours un exe.

La compilation en mémoire serait possible en utilisant TCC comme compilateur après traduction du code Panoramic en C.

Jack a laissé entendre qu'il avait fait des essais avec le C et le Pascal comme langages cibles mais il n'a pas donné de détails.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyVen 9 Mai 2014 - 11:34

Intéressant, Jean-Debord ! Pascal comme cible ? Avec FreePascal (come celui utilisé dans Lazarus), on a une portabilité très large (windows, mais aussi toute la gamme des Unix, Linux, Ubunto etc, ainsi que Android). Et le lien vers les DLLs en Delphi (converties en Pascal) serait évident...
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
papydall

papydall


Nombre de messages : 7017
Age : 74
Localisation : Moknine (Tunisie) Entre la chaise et le clavier
Date d'inscription : 03/03/2012

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyVen 9 Mai 2014 - 19:17

Sous FBIde, dans le menu Exécuter il y a les sous-menus
Compiler
Compiler et Exécuter
Exécuter
Exécution Accelerée
Etc…

Il y a même un bouton Exécution Rapide.

J’ai déjà demandé :
Citation :
Autre chose, on ne souhaite pas toujours créer un exécutable sur disque mais une simple exécution en mémoire (surtout en phase d’essai d’un bout de code ou d’un test quelconque). Alors, si on dispose d’un choix (options ou icones)  COMPILE  ou COMPILE & RUN  ou MAKE ou BUILD ou que sais-je encore ?
Et
Jack a écrit:
L'idée d'une option donnant le choix entre "compilation" et "compilation avec exécution" me plait bien.

Alors si c’est possible, pourquoi pas ?!
Revenir en haut Aller en bas
http://papydall-panoramic.forumarabia.com/
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyLun 12 Mai 2014 - 9:16

papydall a écrit:
Sous FBIde, dans le menu Exécuter il y a les sous-menus
Compiler
Compiler et Exécuter
Exécuter
Exécution Accelerée
Etc…

Il y a même un bouton Exécution Rapide.

Oui mais même dans ce cas il y a création sur le disque d'un exécutable FBIDETEMP.exe qui est effacé lorsqu'on quitte FBIde.

Je pensais à une compilation 100% en mémoire, sans rien écrire sur le disque.

C'est faisable avec TCC (voir mon article) : le programme est écrit dans une variable chaîne de caractères et la compilation se fait entièrement en mémoire.

QuickBasic avait une option pour faire cela.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Jicehel

Jicehel


Nombre de messages : 5947
Age : 52
Localisation : 77500
Date d'inscription : 18/04/2011

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyLun 12 Mai 2014 - 10:37

Perso, c'est sûr, je serais pour mais je n'ai pas la moindre idée de la complexité du changement de langage et du système de compilation.
Faites au mieux pourvu que ce soit le plus compatible et le plus rapide possible.
Revenir en haut Aller en bas
Klaus

Klaus


Nombre de messages : 12331
Age : 75
Localisation : Ile de France
Date d'inscription : 29/12/2009

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyLun 12 Mai 2014 - 11:44

Il est évident que Jack est souverain dans le choix de son langage cible pour le compilateur. FreeBasic est peut-être une cible plus "aisée" à partir d'un langage Basic. Je pense que Jack a passé de multiples possibiltés en revue, avant de se fixer sur ce choix.

Pour ma part, j'aurais préféré FreePascal. Sources pratiquement compatibles avec Delphi, mais portable sur pleins de systèmes: toute la gamme Windows, avec mode 64 bits natif, toute la gamme des clônes Unix, Andoid et d'autres. Avec la possibilité de cross-compiler sur un système A pour un système B... Mais la conversion d'un source Basic en Pascal n'est sûrement pas facile.
Revenir en haut Aller en bas
http://klauspanoramic.comxa.com/index.html
jean_debord

jean_debord


Nombre de messages : 1266
Age : 70
Localisation : Limoges
Date d'inscription : 21/09/2008

compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 EmptyMar 13 Mai 2014 - 9:12

Il ne devrait pas être très difficile de faire un traducteur du langage Panoramic dans un langage cible donné. D'ailleurs Jack a laissé entendre qu'il l'avait déjà fait pour le C et le Pascal.

Les fonctions qui gèrent les objets graphiques sont traduites par des appels à la DLL panoramic.dll ; les autres instructions de Panoramic sont assez classiques et ont leurs équivalents dans les autres langages.

FreeBasic et TCC ont des versions pour Linux et même pour d'autres processeurs tels que les ARM. En revanche le "traducteur" de Panoramic vers le langage cible, ainsi que la bibliothèque panoramic.dll, ne sont à ma connaissance disponibles que pour Windows.
Revenir en haut Aller en bas
http://www.unilim.fr/pages_perso/jean.debord/index.htm
Contenu sponsorisé





compilateur version de travail 0.1 alpha 3 Empty
MessageSujet: Re: compilateur version de travail 0.1 alpha 3   compilateur version de travail 0.1 alpha 3 Empty

Revenir en haut Aller en bas
 
compilateur version de travail 0.1 alpha 3
Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» compilateur version de travail 0.1 alpha 4
» Compilateur : version de travail disponible
» COMPILATEUR version Beta 11 du 22/06/2019
» COMPILATEUR version beta 18 du 09/05/2020
» COMPILATEUR version beta 19 du 9 février 2021

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC :: PANORAMIC Le compilateur :: Le Compilateur-
Sauter vers: