#!/bin/csh
#######################################################################################################################################
# #
# G E N E R A T I O N D U P R E _ P R O C E S S E U R ' C P P ' : #
# #
# #
# Utilisation : #
# #
# $xcp/cpp$D/GENERE$Z #
# #
# #
# Author of '$xcp/cpp$D/GENERE$Z' : #
# #
# Jean-Francois COLONNA (LACTAMME, AAAAMMJJhhmmss). #
# #
#######################################################################################################################################
source $xcc/PeutOnCompiler$vv$Y
# Introduit le 20240712075830 depuis que la vraie '$CMAP28' est devenue incompatible au #
# niveau des '$X's avec les fausses '$CMAP28's... #
set Racine_cpp="$K_VIDE"
set Racine_cpp="beau_"
# Cette variable permet de choisir entre l'ancien et le nouveau (ou "beau") cpp... #
xcp
CD cpp$D
direct $cwd
unset xCWD
set xCWD=$nDirectory
saut 3
set date=`d`
echo "$Prompt"$date
# Edition de la date. #
echo "$Prompt""Directory = "$xCWD
# Edition du directory d'appartenance du fichier. #
echo "$Prompt""Generation du pre-processeur cpp"'$X'" :"
if (-e $xcp/cpp$X) then
$DELETE $xcp/cpp$X
else
endif
if (-e "$Racine_cpp"cpp$O) then
$DELETE "$Racine_cpp"cpp$O
else
endif
if (-e "$Racine_cpp"cpy$O) then
$DELETE "$Racine_cpp"cpy$O
else
endif
set use_Ccw=$NEXIST
# A priori, on n'utilise pas (jamais) '$Ccw'... #
switch ("$SYSTEME")
# Compilation du fichier 'cpp$c'. #
case "SYSTEME_APC_LinuxMandrake_GCC":
case "SYSTEME_CRAY2_UNICOS_CC":
case "SYSTEME_CRAY2_UNICOS_SCC":
case "SYSTEME_CRAYC98_UNICOS_CC":
case "SYSTEME_CRAYC98_UNICOS_SCC":
case "SYSTEME_CRAYC916_UNICOS_CC":
case "SYSTEME_CRAYC916_UNICOS_SCC":
case "SYSTEME_CRAYYMP1_UNICOS_CC":
case "SYSTEME_CRAYYMP1_UNICOS_SCC":
case "SYSTEME_CRAYYMP2_UNICOS_CC":
case "SYSTEME_CRAYYMP2_UNICOS_SCC":
case "SYSTEME_CRAYYMP4_UNICOS_CC":
case "SYSTEME_CRAYYMP4_UNICOS_SCC":
case "SYSTEME_DECALPHA340_OSF1_GCC":
case "SYSTEME_DECALPHA350_OSF1_GCC":
case "SYSTEME_DPX2000_SPIX_CC":
case "SYSTEME_DPX5000_SPIX_CC":
case "SYSTEME_FX40_CONCENTRIX_CC":
case "SYSTEME_FX40_CONCENTRIX_FXC":
case "SYSTEME_HP705_HPUX_CC":
case "SYSTEME_HP710_HPUX_CC":
case "SYSTEME_HP720_HPUX_CC":
case "SYSTEME_HP750_HPUX_CC":
case "SYSTEME_HP755_HPUX_CC":
case "SYSTEME_HP819_HPUX_CC":
case "SYSTEME_NWS3000_NEWSOS_CC":
case "SYSTEME_RS6000_AIX_CC":
case "SYSTEME_SUN3_SUNOS_CC":
case "SYSTEME_SUN4_SUNOS_CC":
case "SYSTEME_SPS9_ROS_CC":
case "SYSTEME_SPS9_ROS_RC":
case "SYSTEME_VAX8600_ULTRIX_CC":
case "SYSTEME_VAX8600_ULTRIX_VCC":
$Cc -O -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
breaksw
case "SYSTEME_APC_LinuxDebian_GCC":
# Deplace ici le 20041206111059 pour '$LACT17'... #
case "SYSTEME_APC_LinuxRedHat_GCC":
case "SYSTEME_APC_LinuxUbuntu_GCC":
case "SYSTEME_APC_LinuxUbuntu_ICC":
case "SYSTEME_APC_LinuxUlmint_GCC":
case "SYSTEME_APC_LinuxUlmint_ICC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -O -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le pre-processeur ne supporte pas que "#else" et #
# "#endif" aient des arguments, ce qui donne le message : #
# #
# warning: extra tokens at end of #else directive #
# #
# Cela a ete mis en place le 20031028103446 pour '$LACT16'... #
breaksw
case "SYSTEME_DECALPHA340_OSF1_CC":
case "SYSTEME_DECALPHA350_OSF1_CC":
case "SYSTEME_DECALPHA464_OSF1_CC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur detecte les instructions non atteintes #
# et dit alors : #
# #
# uopt: Warning: control: part(s) of procedure have no exit point #
# #
# c'est le cas d'un 'return(0);' dans la fonction 'control(...)'. #
breaksw
case "SYSTEME_FX2800_CONCENTRIX_FXC":
case "SYSTEME_FX2800_CONCENTRIX_PCC":
case "SYSTEME_FX2800_CONCENTRIX_SCC":
case "SYSTEME_ES9000_AIX_CC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur detecte les boucles "infinies"... #
breaksw
case "SYSTEME_NWS3000_NEWSOS_2CC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur detecte les instructions non atteintes #
# et dit alors : #
# #
# ccom: Warning: cpp.c, line ...: statement not reached #
# #
# c'est le cas d'un 'return(0);' dans la fonction 'control(...)'. #
breaksw
case "SYSTEME_SG4D20G_IRIX_CC":
case "SYSTEME_SG4D25TG_IRIX_CC":
case "SYSTEME_SG4D310VGX_IRIX_CC":
case "SYSTEME_SG4D35TG_IRIX_CC":
case "SYSTEME_SG4D85GT_IRIX_CC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur #
# Mips detecte une erreur avec la sortie du message #
# suivant : #
# #
# "uopt: Warning: control: parts of procedure have no exit point". #
# #
breaksw
case "SYSTEME_SGIND308_IRIX_CC":
case "SYSTEME_SGIND324_IRIX_CC":
case "SYSTEME_SGIND3GA_IRIX_CC":
case "SYSTEME_SGIND408_IRIX_CC":
case "SYSTEME_SGIND424_IRIX_CC":
case "SYSTEME_SGIND4GA_IRIX_CC":
case "SYSTEME_SGIND508_IRIX_CC":
case "SYSTEME_SGIND524_IRIX_CC":
case "SYSTEME_SGIND5GA_IRIX_CC":
case "SYSTEME_SGIND808_IRIX_CC":
case "SYSTEME_SGIND824_IRIX_CC":
case "SYSTEME_SGIND8GA_IRIX_CC":
case "SYSTEME_SGINDA08_IRIX_CC":
case "SYSTEME_SGINDA24_IRIX_CC":
case "SYSTEME_SGINDAGA_IRIX_CC":
case "SYSTEME_SGO200A1_IRIX_CC":
case "SYSTEME_SGO200A2_IRIX_CC":
case "SYSTEME_SGO200A4_IRIX_CC":
case "SYSTEME_SGO25224_IRIX_CC":
case "SYSTEME_SGO252VA_IRIX_CC":
case "SYSTEME_SGO252VN_IRIX_CC":
case "SYSTEME_SGPCM801_IRIX_CC":
case "SYSTEME_SGPCMA01_IRIX_CC":
if ($nSYSTEM_RELEASE < 502000000) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que d'une part le pre-processeur dit sinon : #
# #
# ...: warning: text following #else violates ANSI standard #
# ...: warning: text following #endif violates ANSI standard #
# #
# et que d'autre part le compilateur Mips detecte une erreur avec la sortie du message #
# suivant : #
# #
# "uopt: Warning: control: parts of procedure have no exit point". #
# #
else
endif
if (($nSYSTEM_RELEASE >= 502000000) && ($nSYSTEM_RELEASE < 600000000)) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed \
|& $SE -f $xcc/cl$D/sup.LibInuti$sed
# L'option '-w' est utilisee parce que d'une part le pre-processeur dit sinon : #
# #
# ...: warning: text following #else violates ANSI standard #
# ...: warning: text following #endif violates ANSI standard #
# #
# et que d'autre part le compilateur Mips detecte une erreur avec la sortie du message #
# suivant : #
# #
# "uopt: Warning: control: parts of procedure have no exit point". #
# #
else
endif
if ($nSYSTEM_RELEASE >= 600000000) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
else
endif
breaksw
case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur detecte les instructions non atteintes #
# et dit alors : #
# #
# "beau_cpp.c", line ...: warning: statement not reached #
# #
# c'est le cas d'un 'return(0);' dans la fonction 'control(...)'. #
breaksw
case "SYSTEME_VAX9000_ULTRIX_CC":
case "SYSTEME_VAX9000_ULTRIX_GCC":
case "SYSTEME_VAX9000_ULTRIX_VCC":
$Cc -O -c "$Racine_cpp"cpp$c -Dunix -D$MACHINE -U__STDC__ |& $SE -f $xcc/cb$D/sup.Copyrig$sed \
|& $SE -e '/^\*undef\*:1: warning: undefining .__STDC__.$/d'
# L'option '-U__STDC__' est destinee a supprimer la validation du type des arguments des #
# fonctions definies via "stdio.h". Ceci est du a la procedure 'cCHAR(...)' de cast des #
# caracteres... #
breaksw
case "SYSTEME_IMPOSSIBLE":
# Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens : #
EROR "Une sequence n'a pas de sens pour '"$SYSTEME"'."
breaksw
default:
# Cas des SYSTEMEs non reconnus : #
EROR "Variable 'SYSTEME' (='$SYSTEME') inconnue."
breaksw
endsw
#20041208102519____:yacc "$Racine_cpp"cpy.y #
set FiChIeR_yacc="$Racine_cpp"cpy.y
set pFiChIeR_yacc=`GetPost $FiChIeR_yacc`
# ATTENTION : je rappelle le 20071122121115 que c'est bien 'cpy.y' qu'il convient d'utiliser #
# ici (et non pas 'cpy$Y') car, en effet il ne s'agit pas d'un '$Y' ! #
FileTmpB FiChIeRT_yacc $pFiChIeR_yacc
$CA $FiChIeR_yacc | \
$SE -e 's+^\(# *include *"\)'"+\1$CWD$K_sepS+" \
> $FiChIeRT_yacc
# A priori, le fichier '$FiChIeR_yacc' est utilise tel quel... #
switch ("$SYSTEME")
# Modification eventuelle du fichier '"$Racine_cpp"cpy.y'... #
# #
# Discrimination des differents SYSTEMEs possibles : #
case "SYSTEME_APC_LinuxDebian_GCC":
if ($nSYSTEM_RELEASE >= 301000000) then
$DELETE $FiChIeRT_yacc
$CA $FiChIeR_yacc | \
$SE -e "s/\( \)=\({[^}]*}\)/\1\2/" \
> $FiChIeRT_yacc
# Tous les "={" ont du etre remplaces par "{" le 20041208102519 lors de l'introduction de #
# '$LACT17' car avec "={" cela donnait les messages : #
# #
# beau_cpy.y:...: syntax error, unexpected "=" #
# #
# Au passage, il semblerait que cette suppression des "=" soit toleree ailleurs, mais #
# je prefere etre prudent... #
else
endif
breaksw
case "SYSTEME_APC_LinuxMandrake_GCC":
case "SYSTEME_APC_LinuxRedHat_GCC":
case "SYSTEME_APC_LinuxUbuntu_GCC":
case "SYSTEME_APC_LinuxUbuntu_ICC":
case "SYSTEME_APC_LinuxUlmint_GCC":
case "SYSTEME_APC_LinuxUlmint_ICC":
case "SYSTEME_CRAY2_UNICOS_CC":
case "SYSTEME_CRAY2_UNICOS_SCC":
case "SYSTEME_CRAYC98_UNICOS_CC":
case "SYSTEME_CRAYC98_UNICOS_SCC":
case "SYSTEME_CRAYC916_UNICOS_CC":
case "SYSTEME_CRAYC916_UNICOS_SCC":
case "SYSTEME_CRAYYMP1_UNICOS_CC":
case "SYSTEME_CRAYYMP1_UNICOS_SCC":
case "SYSTEME_CRAYYMP2_UNICOS_CC":
case "SYSTEME_CRAYYMP2_UNICOS_SCC":
case "SYSTEME_CRAYYMP4_UNICOS_CC":
case "SYSTEME_CRAYYMP4_UNICOS_SCC":
case "SYSTEME_DECALPHA340_OSF1_CC":
case "SYSTEME_DECALPHA340_OSF1_GCC":
case "SYSTEME_DECALPHA350_OSF1_CC":
case "SYSTEME_DECALPHA350_OSF1_GCC":
case "SYSTEME_DECALPHA464_OSF1_CC":
case "SYSTEME_DPX2000_SPIX_CC":
case "SYSTEME_DPX5000_SPIX_CC":
case "SYSTEME_ES9000_AIX_CC":
case "SYSTEME_FX2800_CONCENTRIX_FXC":
case "SYSTEME_FX2800_CONCENTRIX_PCC":
case "SYSTEME_FX2800_CONCENTRIX_SCC":
case "SYSTEME_FX40_CONCENTRIX_CC":
case "SYSTEME_FX40_CONCENTRIX_FXC":
case "SYSTEME_HP705_HPUX_CC":
case "SYSTEME_HP710_HPUX_CC":
case "SYSTEME_HP720_HPUX_CC":
case "SYSTEME_HP750_HPUX_CC":
case "SYSTEME_HP755_HPUX_CC":
case "SYSTEME_HP819_HPUX_CC":
case "SYSTEME_NWS3000_NEWSOS_CC":
case "SYSTEME_NWS3000_NEWSOS_2CC":
case "SYSTEME_RS6000_AIX_CC":
case "SYSTEME_SG4D20G_IRIX_CC":
case "SYSTEME_SG4D25TG_IRIX_CC":
case "SYSTEME_SG4D310VGX_IRIX_CC":
case "SYSTEME_SG4D35TG_IRIX_CC":
case "SYSTEME_SG4D85GT_IRIX_CC":
case "SYSTEME_SGIND308_IRIX_CC":
case "SYSTEME_SGIND324_IRIX_CC":
case "SYSTEME_SGIND3GA_IRIX_CC":
case "SYSTEME_SGIND408_IRIX_CC":
case "SYSTEME_SGIND424_IRIX_CC":
case "SYSTEME_SGIND4GA_IRIX_CC":
case "SYSTEME_SGIND508_IRIX_CC":
case "SYSTEME_SGIND524_IRIX_CC":
case "SYSTEME_SGIND5GA_IRIX_CC":
case "SYSTEME_SGIND808_IRIX_CC":
case "SYSTEME_SGIND824_IRIX_CC":
case "SYSTEME_SGIND8GA_IRIX_CC":
case "SYSTEME_SGINDA08_IRIX_CC":
case "SYSTEME_SGINDA24_IRIX_CC":
case "SYSTEME_SGINDAGA_IRIX_CC":
case "SYSTEME_SGO200A1_IRIX_CC":
case "SYSTEME_SGO200A2_IRIX_CC":
case "SYSTEME_SGO200A4_IRIX_CC":
case "SYSTEME_SGO25224_IRIX_CC":
case "SYSTEME_SGO252VA_IRIX_CC":
case "SYSTEME_SGO252VN_IRIX_CC":
case "SYSTEME_SGPCM801_IRIX_CC":
case "SYSTEME_SGPCMA01_IRIX_CC":
case "SYSTEME_SPS9_ROS_CC":
case "SYSTEME_SPS9_ROS_RC":
case "SYSTEME_SUN3_SUNOS_CC":
case "SYSTEME_SUN4_SUNOS_CC":
case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
case "SYSTEME_VAX8600_ULTRIX_CC":
case "SYSTEME_VAX8600_ULTRIX_VCC":
case "SYSTEME_VAX9000_ULTRIX_CC":
case "SYSTEME_VAX9000_ULTRIX_GCC":
case "SYSTEME_VAX9000_ULTRIX_VCC":
breaksw
case "SYSTEME_IMPOSSIBLE":
# Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens : #
EROR "Une sequence n'a pas de sens pour '"$SYSTEME"'."
breaksw
default:
# Cas des SYSTEMEs non reconnus : #
EROR "Variable 'SYSTEME' (='$SYSTEME') inconnue."
breaksw
endsw
source $xcp/cpp$D/Definition_yacc$vv$Y
# Mis sous cette forme le 20180428094453... #
if (-e $YACC) then
# Test introduit le 20071122084801 a cause de '$LACT18' sur laquelle '$YACC' n'existait #
# pas a priori. Ce dispositif a ete mis en place au cas ou '$YACC' disparaitrait... #
$YACC $FiChIeRT_yacc
else
#20210302100018____: EROR "Le processeur '$YACC' n'existe pas." #
EROR "Le processeur '$YACC' n'existe pas, mais on va peut-etre pouvoir s'en passer."
if (-e y.tab$c$INUTILE) then
relatif $xcpp
$CA y.tab$c$INUTILE | \
$SE -e "s+$dREFERENCE/$nomR+$xcpp+" \
> y.tab$c
unset nomR
echo "Oui, c'est bon..."
# Introduit le 20210302101625 pour indiquer que tout s'est bien passe... #
else
#20210302100018____: EROR "Le fichier 'y.tab$c$INUTILE' n'existe pas, la situation est desesperee." #
EROR "Et non, malheureusement le fichier '"'$xcpp/y.tab$c$INUTILE'"' n'existe pas, la situation est desesperee."
endif
endif
FileTmpE FiChIeRT_yacc
switch ("$SYSTEME")
# Compilation du fichier 'y.tab$c'. #
# #
# Discrimination des differents SYSTEMEs possibles : #
case "SYSTEME_APC_LinuxMandrake_GCC":
case "SYSTEME_CRAY2_UNICOS_CC":
case "SYSTEME_CRAY2_UNICOS_SCC":
case "SYSTEME_CRAYC98_UNICOS_CC":
case "SYSTEME_CRAYC98_UNICOS_SCC":
case "SYSTEME_CRAYC916_UNICOS_CC":
case "SYSTEME_CRAYC916_UNICOS_SCC":
case "SYSTEME_CRAYYMP1_UNICOS_CC":
case "SYSTEME_CRAYYMP1_UNICOS_SCC":
case "SYSTEME_CRAYYMP2_UNICOS_CC":
case "SYSTEME_CRAYYMP2_UNICOS_SCC":
case "SYSTEME_CRAYYMP4_UNICOS_CC":
case "SYSTEME_CRAYYMP4_UNICOS_SCC":
case "SYSTEME_DECALPHA340_OSF1_CC":
case "SYSTEME_DECALPHA340_OSF1_GCC":
case "SYSTEME_DECALPHA350_OSF1_CC":
case "SYSTEME_DECALPHA350_OSF1_GCC":
case "SYSTEME_DECALPHA464_OSF1_CC":
case "SYSTEME_DPX2000_SPIX_CC":
case "SYSTEME_DPX5000_SPIX_CC":
case "SYSTEME_HP705_HPUX_CC":
case "SYSTEME_HP710_HPUX_CC":
case "SYSTEME_HP720_HPUX_CC":
case "SYSTEME_HP750_HPUX_CC":
case "SYSTEME_HP755_HPUX_CC":
case "SYSTEME_HP819_HPUX_CC":
case "SYSTEME_NWS3000_NEWSOS_CC":
case "SYSTEME_NWS3000_NEWSOS_2CC":
case "SYSTEME_RS6000_AIX_CC":
case "SYSTEME_SG4D20G_IRIX_CC":
case "SYSTEME_SG4D25TG_IRIX_CC":
case "SYSTEME_SG4D310VGX_IRIX_CC":
case "SYSTEME_SG4D35TG_IRIX_CC":
case "SYSTEME_SG4D85GT_IRIX_CC":
case "SYSTEME_SPS9_ROS_CC":
case "SYSTEME_SPS9_ROS_RC":
case "SYSTEME_SUN3_SUNOS_CC":
case "SYSTEME_SUN4_SUNOS_CC":
case "SYSTEME_SUN4NCUBE2S_SUNOS_CC":
case "SYSTEME_SUN4NCUBE2S_SUNOS_NCC":
case "SYSTEME_VAX8600_ULTRIX_CC":
case "SYSTEME_VAX8600_ULTRIX_VCC":
case "SYSTEME_VAX9000_ULTRIX_CC":
case "SYSTEME_VAX9000_ULTRIX_GCC":
case "SYSTEME_VAX9000_ULTRIX_VCC":
$Cc -O -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
breaksw
case "SYSTEME_APC_LinuxDebian_GCC":
# Deplace ici le 20041206111059 pour '$LACT17'... #
case "SYSTEME_APC_LinuxRedHat_GCC":
case "SYSTEME_APC_LinuxUbuntu_GCC":
case "SYSTEME_APC_LinuxUbuntu_ICC":
case "SYSTEME_APC_LinuxUlmint_GCC":
case "SYSTEME_APC_LinuxUlmint_ICC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -O -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le pre-processeur ne supporte pas que "#else" et #
# "#endif" aient des arguments, ce qui donne le message : #
# #
# warning: extra tokens at end of #else directive #
# #
# Cela a ete mis en place le 20031028103446 pour '$LACT16'... #
breaksw
case "SYSTEME_FX2800_CONCENTRIX_FXC":
case "SYSTEME_FX2800_CONCENTRIX_PCC":
case "SYSTEME_FX2800_CONCENTRIX_SCC":
case "SYSTEME_FX40_CONCENTRIX_CC":
case "SYSTEME_FX40_CONCENTRIX_FXC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -O -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur detecte des erreurs avec la sortie #
# du message : #
# #
# "y.tab.c", line 261: #
# 261 while ( yyps >= yys ) { #
# scc - warning: (1) Expressions to be compared must be pointers to the same type #
# #
breaksw
case "SYSTEME_SGIND308_IRIX_CC":
case "SYSTEME_SGIND324_IRIX_CC":
case "SYSTEME_SGIND3GA_IRIX_CC":
case "SYSTEME_SGIND408_IRIX_CC":
case "SYSTEME_SGIND424_IRIX_CC":
case "SYSTEME_SGIND4GA_IRIX_CC":
case "SYSTEME_SGIND508_IRIX_CC":
case "SYSTEME_SGIND524_IRIX_CC":
case "SYSTEME_SGIND5GA_IRIX_CC":
case "SYSTEME_SGIND808_IRIX_CC":
case "SYSTEME_SGIND824_IRIX_CC":
case "SYSTEME_SGIND8GA_IRIX_CC":
case "SYSTEME_SGINDA08_IRIX_CC":
case "SYSTEME_SGINDA24_IRIX_CC":
case "SYSTEME_SGINDAGA_IRIX_CC":
case "SYSTEME_SGO200A1_IRIX_CC":
case "SYSTEME_SGO200A2_IRIX_CC":
case "SYSTEME_SGO200A4_IRIX_CC":
case "SYSTEME_SGO25224_IRIX_CC":
case "SYSTEME_SGO252VA_IRIX_CC":
case "SYSTEME_SGO252VN_IRIX_CC":
case "SYSTEME_SGPCM801_IRIX_CC":
case "SYSTEME_SGPCMA01_IRIX_CC":
if ($nSYSTEM_RELEASE < 502000000) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le pre-processeur dit sinon : #
# #
# ...: warning: text following #else violates ANSI standard #
# ...: warning: text following #endif violates ANSI standard #
# #
else
endif
if (($nSYSTEM_RELEASE >= 502000000) && ($nSYSTEM_RELEASE < 600000000)) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed \
|& $SE -f $xcc/cl$D/sup.LibInuti$sed
# L'option '-w' est utilisee parce que le pre-processeur dit sinon : #
# #
# ...: warning: text following #else violates ANSI standard #
# ...: warning: text following #endif violates ANSI standard #
# #
else
endif
if ($nSYSTEM_RELEASE >= 600000000) then
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
else
endif
breaksw
case "SYSTEME_ES9000_AIX_CC":
set use_Ccw=$EXIST
# Et bien, on a utilise au moins une fois '$Ccw'... #
$Ccw -O -c y.tab$c |& $SE -f $xcc/cb$D/sup.Copyrig$sed
# L'option '-w' est utilisee parce que le compilateur 'MetaWare High C Compiler' #
# detecte des erreurs avec la sortie des messages : #
# #
# "w "cpy.y",L433/C14: Array subscript out of range.", #
# "w "cpy.y",L434/C14: Array subscript out of range.", #
# "w "cpy.y",L20/C22: Unreachable statement.". #
# #
breaksw
case "SYSTEME_IMPOSSIBLE":
# Cas des SYSTEMEs pour lesquels cette sequence n'a pas de sens : #
EROR "Une sequence n'a pas de sens pour '"$SYSTEME"'."
breaksw
default:
# Cas des SYSTEMEs non reconnus : #
EROR "Variable 'SYSTEME' (='$SYSTEME') inconnue."
breaksw
endsw
if ($mHOTE == $mREFERENCE) then
# Dispositif introduit le 20071122084801 a cause de '$LACT18' sur laquelle '$YACC' n'existait #
# pas a priori. Ce dispositif a ete mis en place au cas ou '$YACC' disparaitrait... #
$DELETE y.tab$c$INUTILE
$CA y.tab$c | \
$GRE -v "^$PASSE_1"" *line " \
> y.tab$c$INUTILE
ro y.tab$c$INUTILE
else
endif
$DELETE y.tab$c
$MV y.tab$O "$Racine_cpp"cpy$O > $nul
if ($use_Ccw == $NEXIST) then
set use_Cc="$Cc"
# Lorsque '$Ccw' n'a pas ete utilise, on peut utiliser '$Cc' sans problemes... #
else
set optimise_Cc=`echo "$Cc" | $GRE " -O[0-9] " | $SE -e "s/^.* \(-O[0-9]\) .*/\1/"`
set optimise_Ccw=`echo "$Ccw" | $GRE " -O[0-9] " | $SE -e "s/^.* \(-O[0-9]\) .*/\1/"`
# Recuperation des options d'optimisation utilisees... #
if ("$optimise_Cc" == "$K_VIDE") then
set use_Cc="$Cc $optimise_Ccw"
# Cas ou '$Cc' etait sans optimisation, on rajoute l'option de '$Ccw' (eventuelle...). #
else
set use_Cc=`echo $Cc | $SE -e "s/$optimise_Cc/$optimise_Ccw/"`
# Cas ou '$Cc' etait avec optimisation, on met celle de '$Ccw' a la place. Ceci a ete rendu #
# le necessaire le 1996071000 lors du passge en 6.2 de '$LACT27' ; cela donnait les messages #
# suivants : #
# #
# uld: #
# No ucode object file linked -- please use -O2 or lower. #
# #
endif
endif
$use_Cc -o $xcp/cpp$X "$Racine_cpp"cpp$O "$Racine_cpp"cpy$O |& $SE -f $xcc/cb$D/sup.Copyrig$sed \
|& $SE -f $xcc/cl$D/sup.LibInuti$sed
if (-e "$Racine_cpp"cpp$O) then
$DELETE "$Racine_cpp"cpp$O
else
endif
if (-e "$Racine_cpp"cpy$O) then
$DELETE "$Racine_cpp"cpy$O
else
endif
if (-e $xcp/cpp$X) then
ro $xcp/cpp$X
# Protection du module. #
SIZE $xcp/cpp$X
# Et edition de sa taille. #
echo "$Prompt("$Fsize" octets)"
else
EROR "ATTENTION, le fichier '"cpp$X"' n'est pas cree."
endif
Copyright © Jean-François COLONNA, 2021-2025.
Copyright © CMAP (Centre de Mathématiques APpliquées) UMR CNRS 7641 / École polytechnique, Institut Polytechnique de Paris, 2021-2025.