Présentation
Documentation
L'équipe
Sérialisation
 
Programmes
Objets
Libs Utilitaires
Libs Internes
   
 
Editeur
Syntaxes
Windows
Versions
   

SCR/AL1 - TOME I. Les programmes

3. SCR4_E : outil de compilation et de documentation

scr4_e est le compilateur d'objets SCR. A partir d'une liste de fichiers contenant la description des objets, scr4_e peut générer soit un fichier scr (objets compilés), soit un fichier .c (objets sous forme de structures C).

En plus d'un de ces deux fichiers, scr4_e extrait les SCREENS définis dans les PAGES et les commentaires pour les placer dans un fichier .cmt, utilisé tout au long de l'application pour relire les informations d'affichage.

En dehors de cette utilisation standard de scr4_e, des générations automatiques sont possibles :

La syntaxe générale est exposée ci-dessous. Les pages suivantes sont consacrées aux explications détaillées du fonctionnement de scr4_e.

Syntaxe

scr4_e -option args  ...

Option Args Description
-------------------------------------
-a file : output ascii
-af file .. : load ascii file(s)
-C line col : clock at line col
-c file : output C
-cmt file : comments in file
-drwmem : all draws in mem
-fldmem : all flds in mem
-h : display this help
-hap file : dump helpfile from a_bar
-hi file : dump helpfile from isams
-hpg file : -- cancelled --
-I file : #include file in C files
-i file : dump pages from isams
-DT line col : set date at (line, col)
-noobj : no obj in .C
-olddef : old page field defines
-k line col : WAIT/INPUT at line col
-l ext : set ascii files ext (.f)
-M line col : MEM at line col
-main action : create main() in C file
-nodef :
-o file : output object (.scr)
-of file : load object file (.scr)
-optmem : all options in mem
-s- : don't display statistics
-smp file : dump MPAGE defn file
-t term : dump term in C file
-1obj : single file C output
-c- : c output without scr.f
-pgalign : force pg flds alignment
-isalign : force is flds alignment
-w filename : generate windows files
-namemem : all fields names in memory
-actmem : all actions in memory

Compilation des sources SCR

A partir d'un ou de plusieurs fichiers sources SCR - c'est-à-dire contenant des descriptions d'objets SCR - scr4_e va générer des fichiers qui serviront ensuite lors de la phase d'édition de liens (link).

Il s'agit de préciser quels fichiers contiennent les sources, ce qui doit en être extrait et sous quel format (objet ou C). Des paramètres complémentaires permettent de préciser une série de détails.

Définition des fichiers à compiler

Les paramètres suivants prennent en charge ces définitions :

    -af file1 file2 ... : load ascii file(s)
-l ext : set ascii files ext (.f)
-of file : load object file (.scr)
-t term : dump term in C file
-c- : c output without scr.f

Les fichiers sont recherchés en suivant la même logique que scr4.

Définition du mode de compilation

scr4_e peut générer 3 output distincts correspondant aux trois librairies scra, scro et scrc.

Les paramètres définissant le mode choisi sont :

    -a file      : output ascii
-c file : output C
-o file : output object (.scr)
-c- file : c output without scr.f

Dans tous les cas, file est le nom de base des fichiers output.

Les fichiers générés sont :

Les seuls fichiers toujours générés sont les .c et le .h. Les deux autres dépendent du mode de compilation et du contenu des objets.

Paramètres de compilation

En plus du mode, certains paramètres de compilation vont influencer le contenu et les noms des fichiers décrits ci-dessus. Ces paramètres sont :

    -C line col  : clock at line col
-k line col : WAIT/INPUT at line col
-M line col : MEM at line col

-cmt file : comments in file
-1obj : single file C output

-drwmem : all draws in mem
-fldmem : all flds in mem
-optmem : all options in mem
-actmem : all actions in mem
-namemem : all fields names in mem

-I file : #include file in C files
-main action : create main() in C file
-nodef : #define not dumped in .h
-noobj : no OBJ in .c
-t term : dump term in C file

-s- : don't display statistics
-pgalign : force PAGE fields alignment
-isalign : force ISAM fields alignment
-w filename : generate windows files

-olddef : old page field defines
-v3cnf : ancienne version de SCR_confirme()
-v3err : ancienne version de PG_display_error()

Exemples extraits d'un fichier makefile

Compilation des objets et link du programme


l_objs.c : l_ap.f l_dbd.f l_mp.f l_pgi.f l_pgs.f l_prn.f
scr4_e -af l_dbd l_pgi l_ap l_mp.f l_pgs l_prn.f \
-C 2 60 -M 25 72 -k 2 75 \
-o l_objs \
-cmt l_objs.cmt \
-I lex.h -fldmem -drwmem -1obj \

lex : l_objs.c l_main.o l_misc.o l_prmp.o l_objs.o \
l_conf.o l_subf.o l_prn.o l_disp.o
cc -o lex l_*.o scr4o.lib scr4i.lib

La construction de l_objs.c dépend de tous les fichiers de définition d'objets SCR. Ces fichiers ont dans le cas présent (c'est la valeur par défaut) l'extension .f. La commande scr4_e de compilation a les caractéristiques suivantes :

Le programme proprement dit dépend d'une série de fichiers C construits pour l'application (l_*.c). Pour créer le programme, il suffit de linker

Générations automatiques

Les paramètres suivants permettent de générer de manière automatique différents fichiers :

    -hap file    : dump helpfile from a_bar
-hi file : dump helpfile from isams
-hpg file : dump helpfile from pages
-i file : dump pages from isams
-smp file : dump MPAGE defn file

Construction des PAGES à partir des ISAMS

        scr4_e -af l_dbd -i l_pgf.f

Cette instruction charge d'abord l_dbd.f, module de définition ASCII des ISAM, et construit pour chaque ISAM rencontré une PAGE contenant tous les champs de l'ISAM et les propriétés de ces champs.

Cette méthode est souvent utilisée en début de développement : lorsque la base de données n'est pas encore définitive, la construction des écrans risque d'être une perte de temps. Les écrans sont ainsi construits "au brouillon" et pourront être transformés plus tard pour des raisons d'esthétique ou de facilité d'emploi.

On constate que cette façon de travailler permet de se contenter au départ de définir le contenu des bases de données et une barre d'action élémentaire. Le programme peut déjà tourner sur les bases de données réelles, pour être soumis à la critique.

Construction du layout du fichier d'aide

    scr4_e -af l_dbd l_pgi l_ap l_mp l_pgs -hap hap -hi his

Cette instruction construit 2 fichiers au format du fichier d'aide. Ces fichiers sont basés sur les objets décrits dans les sources SCR :

Copyright © 1998-2015 Jean-Marc Paul and Bernard PAUL - Envoyez vos remarques ou commentaires à bernard@xon.be