Glossaire relié au code dans les deux sens
Fiches Demi-coup (HalfMove) et Plateau (Board) ajoutées ; champ code des fiches Coup, Jet, Pli, Moteur, Identifiant de position, Videau, Événement de partie et Partie. tests/test_glossary.sh vérifie que chaque référence « Glossaire : » du code mène à une fiche qui nomme le type, et que chaque champ code désigne un type qui renvoie à sa fiche. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 5.5
parent
1f9981dc63
commit
85cc034611
@@ -26,7 +26,10 @@ Voir aussi : [Doubler](doubler.md)
|
||||
|
||||
`code` est facultatif : il désigne le type du domaine qui implémente le terme,
|
||||
dès qu'il existe. Dans le code, ce type porte en commentaire le chemin de sa
|
||||
fiche (`Glossaire : docs/glossaire/videau.md`).
|
||||
fiche (`Glossaire : docs/glossaire/videau.md`), juste avant sa déclaration
|
||||
exportée. `make test` vérifie le lien dans les deux sens : chaque fiche avec
|
||||
`code` est reliée à ce type, chaque référence du code mène à une fiche dont le
|
||||
`code` est le type qui la porte.
|
||||
|
||||
## Termes
|
||||
|
||||
@@ -38,6 +41,7 @@ fiche (`Glossaire : docs/glossaire/videau.md`).
|
||||
| [Branche](branche.md) | Branch |
|
||||
| [Compte de points](compte-de-points.md) | Pip count |
|
||||
| [Coup](coup.md) | Move |
|
||||
| [Demi-coup](demi-coup.md) | Half-move |
|
||||
| [Course](course.md) | Race |
|
||||
| [Doubler](doubler.md) | Double |
|
||||
| [Équité](equite.md) | Equity |
|
||||
@@ -51,6 +55,7 @@ fiche (`Glossaire : docs/glossaire/videau.md`).
|
||||
| [Partie](partie.md) | Game |
|
||||
| [Passer](passer.md) | Drop |
|
||||
| [Pion](pion.md) | Checker |
|
||||
| [Plateau](plateau.md) | Board |
|
||||
| [Pli](pli.md) | Ply |
|
||||
| [Point](point.md) | Point |
|
||||
| [Prendre](prendre.md) | Take |
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Coup
|
||||
english: Move
|
||||
code: Move
|
||||
---
|
||||
# Coup
|
||||
|
||||
|
||||
@@ -0,0 +1,15 @@
|
||||
---
|
||||
term: Demi-coup
|
||||
english: Half-move
|
||||
code: HalfMove
|
||||
---
|
||||
# Demi-coup
|
||||
|
||||
**En bref** : le déplacement d'un pion avec un seul dé, par exemple 8/5 avec un 3 ; un coup en compte deux, ou quatre avec un double.
|
||||
|
||||
On saisit son coup demi-coup par demi-coup : l'application n'accepte que ceux
|
||||
qui mènent à un coup permis. Pour un pion qui sort, la case d'arrivée se note
|
||||
« off » (6/off) ; pour un pion qui rentre depuis la barre, la case de départ se
|
||||
note « bar » (bar/22).
|
||||
|
||||
Voir aussi : [Coup](coup.md), [Jet](jet.md), [Barre](barre.md), [Sortie](sortie.md)
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Événement de partie
|
||||
english: Game event
|
||||
code: GameEvent
|
||||
---
|
||||
# Événement de partie
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Identifiant de position
|
||||
english: Position ID
|
||||
code: PositionId
|
||||
---
|
||||
# Identifiant de position
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Jet
|
||||
english: Roll
|
||||
code: Roll
|
||||
---
|
||||
# Jet
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Moteur
|
||||
english: Engine
|
||||
code: Engine
|
||||
---
|
||||
# Moteur
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Partie
|
||||
english: Game
|
||||
code: Game
|
||||
---
|
||||
# Partie
|
||||
|
||||
|
||||
@@ -0,0 +1,14 @@
|
||||
---
|
||||
term: Plateau
|
||||
english: Board
|
||||
code: Board
|
||||
---
|
||||
# Plateau
|
||||
|
||||
**En bref** : la surface de jeu, avec ses 24 cases (les points), la barre au milieu, et les pions de chaque joueur.
|
||||
|
||||
Chaque joueur numérote les cases de son point de vue : sa case 1 est la plus
|
||||
proche de sa sortie, sa case 24 la plus éloignée, qui est la case 1 de
|
||||
l'adversaire.
|
||||
|
||||
Voir aussi : [Point](point.md), [Pion](pion.md), [Barre](barre.md), [Identifiant de position](identifiant-de-position.md)
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Pli
|
||||
english: Ply
|
||||
code: Ply
|
||||
---
|
||||
# Pli
|
||||
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
---
|
||||
term: Videau
|
||||
english: Cube
|
||||
code: Cube
|
||||
---
|
||||
# Videau
|
||||
|
||||
|
||||
@@ -33,4 +33,44 @@ done
|
||||
duplicates="$(find . -name '*.md' ! -name README.md -exec sed -n 's/^english: //p' {} + | sort | uniq -d)"
|
||||
[ -z "$duplicates" ] || report "traductions anglaises en double : $duplicates"
|
||||
|
||||
# Lien glossaire <-> code (ADR 0008), dans les deux sens. Dans le code, un
|
||||
# commentaire « Glossaire : docs/glossaire/<fiche>.md » désigne le premier
|
||||
# type exporté qui le suit ; la fiche doit exister et nommer ce type dans son
|
||||
# champ code. Réciproquement, chaque champ code d'une fiche doit désigner un
|
||||
# type ainsi relié à elle.
|
||||
pairs="$(find ../../app/src -name '*.ts' -exec awk '
|
||||
function flush() { if (ref != "") print ref, "?"; ref = "" }
|
||||
FNR == 1 { flush() }
|
||||
match($0, /Glossaire : docs\/glossaire\/[a-z0-9-]+\.md/) {
|
||||
flush()
|
||||
ref = substr($0, RSTART + 27, RLENGTH - 27)
|
||||
next
|
||||
}
|
||||
ref != "" && match($0, /^export (interface|type|class|enum) [A-Za-z0-9_]+/) {
|
||||
n = split(substr($0, RSTART, RLENGTH), words, " ")
|
||||
print ref, words[n]
|
||||
ref = ""
|
||||
}
|
||||
END { flush() }
|
||||
' {} +)"
|
||||
|
||||
while read -r fiche type; do
|
||||
[ -n "$fiche" ] || continue
|
||||
if [ "$type" = "?" ]; then
|
||||
report "code : référence à $fiche sans type exporté juste après"
|
||||
elif [ ! -f "$fiche" ]; then
|
||||
report "code : le type $type renvoie à une fiche inexistante ($fiche)"
|
||||
elif [ "$(sed -n 's/^code: //p' "$fiche")" != "$type" ]; then
|
||||
report "$fiche : le type $type y renvoie, mais la fiche n'a pas « code: $type »"
|
||||
fi
|
||||
done <<<"$pairs"
|
||||
|
||||
for f in *.md; do
|
||||
[ "$f" = README.md ] && continue
|
||||
code="$(sed -n 's/^code: //p' "$f")"
|
||||
[ -n "$code" ] || continue
|
||||
grep -qx "$f $code" <<<"$pairs" \
|
||||
|| report "$f : « code: $code » ne désigne aucun type du code qui renvoie à cette fiche"
|
||||
done
|
||||
|
||||
[ "$errors" -eq 0 ]
|
||||
|
||||
Reference in New Issue
Block a user