FORUM DE DISCUSSION SUR LE LANGAGE PANORAMIC

Développement d'applications avec le langage Panoramic
 
AccueilAccueil  FAQFAQ  RechercherRechercher  S'enregistrerS'enregistrer  MembresMembres  GroupesGroupes  Connexion  
Derniers sujets
» I Love You
par papydall Aujourd'hui à 2:58

» MARK_ON déclenche un événement ON_CLICK à la place de ...
par Jean Claude Hier à 18:08

» mise a jour calculatrice
par joeeee2017 Hier à 15:57

» [solved] 3D_LINE How to ?
par Jicehel Hier à 11:01

» Convertisseur de base 10 de 2 à 36
par gigi75 Mar 17 Oct 2017 - 18:49

» calculatrice avec touches movibles
par joeeee2017 Dim 15 Oct 2017 - 1:11

» CORTANA
par gigi75 Sam 14 Oct 2017 - 16:32

» Calculatrice
par Jean Claude Sam 14 Oct 2017 - 12:30

» Compilateur FBPano
par jean_debord Jeu 12 Oct 2017 - 9:53

» KGF_dll - nouvelles versions
par Klaus Mar 10 Oct 2017 - 18:49

» à propos de Panoramic_Editor [Résolu]
par Klaus Mar 10 Oct 2017 - 3:19

» Un petit "coucou" à tous les Panoramiciens !
par Jack Ven 6 Oct 2017 - 10:24

» Pourquoi le compilateur stagne
par mindstorm Mer 4 Oct 2017 - 20:38

» Panoramic ?
par Marc37 Mer 4 Oct 2017 - 0:39

» Premiers pas avec Arduino
par Marc37 Mer 4 Oct 2017 - 0:29

Navigation
 Portail
 Index
 Membres
 Profil
 FAQ
 Rechercher
Rechercher
 
 

Résultats par :
 
Rechercher Recherche avancée
Octobre 2017
LunMarMerJeuVenSamDim
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
CalendrierCalendrier

Partagez | 
 

 compilateur version de travail 0.1 alpha 3

Voir le sujet précédent Voir le sujet suivant Aller en bas 
AuteurMessage
Jack
Admin
avatar

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

MessageSujet: compilateur version de travail 0.1 alpha 3   Mar 6 Mai 2014 - 22: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.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
JL35



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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mar 6 Mai 2014 - 22: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
Voir le profil de l'utilisateur
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mar 6 Mai 2014 - 23: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
Voir le profil de l'utilisateur
mindstorm

avatar

Nombre de messages : 534
Age : 48
Localisation : charente
Date d'inscription : 13/02/2013

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 0:19

Merci Jack
ou trouve tu cette energie?
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
papydall

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 0: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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Klaus

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 0: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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 1: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 :





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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
Yannick

avatar

Nombre de messages : 7994
Age : 46
Localisation : Bretagne
Date d'inscription : 15/02/2010

MessageSujet: re   Mer 7 Mai 2014 - 9:41

Bravo Jack !

Je vais télécharger cette version tout de suite !
Revenir en haut Aller en bas
Voir le profil de l'utilisateur
Jack
Admin
avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 20: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.

_________________
username : panoramic@jack-panoramic password : panoramic123
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://panoramic.free-boards.net
papydall

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mer 7 Mai 2014 - 21:09

Le problème de DLL persiste.
Revenir en haut Aller en bas
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Jeu 8 Mai 2014 - 11: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
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm En ligne
papydall

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Jeu 8 Mai 2014 - 21: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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Ven 9 Mai 2014 - 10: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
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm En ligne
Klaus

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Ven 9 Mai 2014 - 12: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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
papydall

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Ven 9 Mai 2014 - 20: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
Voir le profil de l'utilisateur http://papydall-panoramic.forumarabia.com/
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Lun 12 Mai 2014 - 10: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
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm En ligne
Jicehel

avatar

Nombre de messages : 5858
Age : 45
Localisation : 77500
Date d'inscription : 19/04/2011

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Lun 12 Mai 2014 - 11: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
Voir le profil de l'utilisateur
Klaus

avatar

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

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Lun 12 Mai 2014 - 12: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
Voir le profil de l'utilisateur http://klauspanoramic.comxa.com/index.html
jean_debord

avatar

Nombre de messages : 756
Age : 63
Localisation : Limoges
Date d'inscription : 21/09/2008

MessageSujet: Re: compilateur version de travail 0.1 alpha 3   Mar 13 Mai 2014 - 10: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
Voir le profil de l'utilisateur http://www.unilim.fr/pages_perso/jean.debord/index.htm En ligne
Contenu sponsorisé




MessageSujet: Re: compilateur version de travail 0.1 alpha 3   

Revenir en haut Aller en bas
 
compilateur version de travail 0.1 alpha 3
Voir le sujet précédent Voir le sujet suivant Revenir en haut 
Page 1 sur 1
 Sujets similaires
-
» Compilateur : version de travail disponible
» Offre promotionnelle : SnagIT 7.25 en version gratuite !
» Comment envoyer une détection chez avira avec Antivir 9 français - Version Classic
» compilateur
» retour au travail....

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: