tef-innu

Transducteur à états finis de l’innu
git clone git://git.asteride.xyz/tef-innu.git
Journaux | Fichiers | Références

commit 68895fdb2deed09ea803718125634825125259df
parent e44e4ff772406ad0afa63bc131a3e02954504880
Auteur: Loïc Daignault-Pichette <loic@asteride.net>
Date:   Sat,  8 Aug 2026 11:15:45 -0400

[sty] Commenter et renommer lexalex

Diffstat:
MMakefile | 2+-
Abin/lexalexs | 20++++++++++++++++++++
Dbin/lexalexs.sh | 15---------------
3 fichiers modifiés, 21 insertions(+), 16 suppressions(-)

diff --git a/Makefile b/Makefile @@ -18,7 +18,7 @@ .att.ext: bin/extension.py "$<" | sort > "$@" .lex.lexs: - bin/lexalexs.sh <"$<" >"$@" + bin/lexalexs <"$<" >"$@" # ------ # DÉFAUT diff --git a/bin/lexalexs b/bin/lexalexs @@ -0,0 +1,20 @@ +#!/bin/sh +# +# lexalexs -- Séparer les symboles d’un fichier lex. +# +# À gauche du premier « + », chaque caractère est un symbole. À droite, les +# « + » forment un symbole jusqu’au prochain « + » ou jusqu’à la fin de la +# chaîne. Les symboles sont séparés par des espaces. + +awk ' + BEGIN { FS = "+"; OFS = " " } + { + gsub(/./, "& ", $1) # Placer une espace après chaque + # caractère du premier champ. + sub(/ $/, "", $1) # Retirer l’espace finale. + for (i=2 ; i<=NF; i++) # Remettre le « + » à partir du + sub(/^/, "+", $i) # deuxième champ + print # Afficher tous les champs + print "" # Ligne vide + } +' diff --git a/bin/lexalexs.sh b/bin/lexalexs.sh @@ -1,15 +0,0 @@ -#!/bin/sh -# -# lexalexs -- Séparer les symboles d’un fichier lex. - -awk ' - BEGIN { FS = "+" } - { - gsub(/./, "& ", $1) - sub(/ $/, "", $1) - for (i=2 ; i<=NF; i++) - sub(/^/, "+", $i) - print - print "" - } -'