#!/bin/csh
#######################################################################################################################################
# #
# C O N V E R S I O N D ' U N A L P H A B E T ' $K ' E N U N A L P H A B E T ' $Y ' : #
# #
# #
# Utilisation : #
# #
# $xrd/conversion_K_Y_alphabets.01$vv$Z <Alphabet> <ArgumentsMessage> [<Lettre>] #
# #
# #
# Author of '$xrd/conversion_K_Y_alphabets.01$vv$Z' : #
# #
# Jean-Francois COLONNA (LACTAMME, 20250528124807). #
# #
#######################################################################################################################################
set Alphabet=$1
set ArgumentsMessage="$2"
set Lettre=$3
# Lorsque '$LeTtRe' n'est pas vide, c'est sa definition "graphique" qui est editees a la #
# fin, alors que lorsqu'elle est vide, c'est toutes les definitions "graphiques" qui sont #
# editees... #
setArgum CoordonneeX "$K_VIDE"
setArgum Lettre "$K_VIDE"
set LeTtRe="$Lettre"
source $xrd/conversion_K_Y_alphabets.02$vv$Y
# Introduit le 20250528183801... #
set Arguments_message="$ArgumentsMessage"
# Et ce a cause de 'v $xrd/conversion_K_Y_alphabets.01$vv$Y Arguments_message'... #
if ("$Arguments_message" == "$K_VIDE") then
# Test introduit le 20250528182440... #
set Arguments_message="$K_VIDE"
set Arguments_message="$Arguments_message"" bibliotheque=$Alphabet"
set Arguments_message="$Arguments_message"" bibliotheque_00_fonte_proportionnelle=FAUX"
set Arguments_message="$Arguments_message"" EgalDiese=FAUX"
# Cette definition peut paraitre inutile puisque 'FAUX' est la valeur par defaut de #
# 'GetParam $xci/message$X EgalDiese'. #
# #
# Mais 'v $xiii/$xiii/alphabet.0$FON FgLegal_00_____remplacer_par_un_diese' lorsqu'il #
# est VRAI, donne entre {Bblock,Eblock} donne une sequence vide sans {gA,g1,g2,g3,g4,gB}. #
# Or 'v $xrd/graph.G_L$vv$Y non defini dans' voit que c'est vide et donne un message #
# d'erreur... #
set Arguments_message="$Arguments_message"" InferieurSymetriqueX=VRAI"
set Arguments_message="$Arguments_message"" SuperieurSymetriqueX=VRAI"
set Arguments_message="$Arguments_message"" bibliotheque_00_remplacer_0_O=VRAI"
# Ces definitions sont inspirees de 'v $xiirv/.TURI.21.2.$U Arguments_message'... #
else
endif
source $xrd/conversion_K_Y_alphabets.01$vv$Y
# Ainsi, on definit des variables '$TeStS_FgL_...' correspondant aux options destinees #
# a '$xci/message$X' via '$Arguments_message'... #
# #
# Puis, recuperation dans 'v $xci/message$K GET_ARGUMENTSg' des arguments definis par un #
# 'GET_ARGUMENT_L(...)' et preparatifs de reeciture du type : #
# #
# Test(IL_FAUT(FgL...)) (pour '$K') #
# #
# en : #
# #
# if ($TeStS_FgL... == $EXIST) then (pour '$CSH') #
# #
FilSTmpB FSeQuEnCeS_CoNdItIoNnElLe $Y
$CA $xcs/csh$Y \
>> $FSeQuEnCeS_CoNdItIoNnElLe
$CA $xiii/alphabet.$Alphabet$FON | \
$GRE -v '^ */\*' | \
$GRE -v '^__*$' | \
$GRE -v '^$' | \
$GRE -v '^#' | \
$GRE -v '^DEFV(Common,DEFV(' | \
$AW ' /DEFV\(Common,GENERE__FonctionI_GRAPHIQUES\(/,/^ \)$/ ' | \
$SE -e '/^ )$/d' \
-e '/^ )$/d' \
-e "s/g\([$Alphabet_0_9""ABS]\)/G_\1/g" | \
$EGRE -v -e '^ *Bblock$|^ *Eblock$|^ *CALS\(|^ */\* ' | \
$SE -f $FTeStS_FgL \
-e 's/^ *ATes$/\nelse/' \
-e 's/^ *ETes$/\nendif\nelse\n\nendif\nendif/' \
-e 's/^ *\(G_[^ ]*\)$/echo "\1"/' \
>> $FSeQuEnCeS_CoNdItIoNnElLe
# Generation d'un '$Y' recuperant les sequences conditionnelles qui sont VRAIes... #
# #
# Je rappelle le 20250528111842 que 'FiNdUfIcHiEr' n'existe pas dans les fichiers #
# '$xiii/alphabet.$AlPhAbEt$FON' et alors '$AW' avec "/FiNdUfIcHiEr/", ne le rencontrant #
# pas, fait sa recherche jusqu'au bout (a la place de "FiNdUfIcHiEr" on aurait en fait pu #
# utiliser n'importe quelle chaine, a condition qu'elle n'existe pas...). #
FilSTmpB CodDe_AlPhAbEt
$CA $FSeQuEnCeS_CoNdItIoNnElLe | \
$GRE -v '^$' \
>> $CodDe_AlPhAbEt
# A cause de 'v $xiii/alphabet.0$FON FgLsuperieur_00', le 20250526121113 fut mise en place #
# tout ce processus afin de simuler les 'Test(IL_FAUT(FgL...))' sous '$CSH'... #
if ("$LeTtRe" == "$K_VIDE") then
$CA $CodDe_AlPhAbEt
# Edition de tous les codes de type '$Y' des caracteres de l'alphabet "$Alphabet"... #
else
$CA $CodDe_AlPhAbEt | \
$AW " /GENERE__FonctionI_GRAPHIQUES\(FgL""$LeTtRe""_0$Alphabet/,/ )/ " | \
$xcp/appariement$X \
ouverture="(" | \
$SE -e "/^ *DEFV(/d" -e "/^ *,BLOC(/d" -e "/^ *)/d"
# Edition du code de type '$Y' du caractere "$LeTtRe" de l'alphabet "$Alphabet"... #
endif
FilSTmpE CodDe_AlPhAbEt
FilSTmpE FSeQuEnCeS_CoNdItIoNnElLe
FilSTmpE FTeStS_FgL
# Le 'FilSTmpB' est dans 'v $xrd/conversion_K_Y_alphabets.01$vv$Y FilSTmpB..FTeStS_FgL'... #