2.6 KiB
2.6 KiB
Exemples / DO-DON'T — Chapitre 2 — Principes généraux du langage
Document compagnon non normatif tant qu'une règle n'est pas explicitement référencée comme normative par le chapitre.
Exemples actuellement présents dans le chapitre
Exemple 1
and comme alias de &&
or comme alias de ||
=== en plus de l'identité explicite
++ et --
ternaire ?: si les formes productrices de `match`/`if` avec `emit` couvrent le besoin
Exemple 2
&& / || short-circuit
& / | / ^ logique eager sur bool
Exemple 3
keywords
identifiers
numeric literals
operators
punctuation
syntactic whitespace
namespace syntax
Exemple 4
String literals
char literals
ordinary comments
Saseldoc comments
Exemple 5
U+0020 SPACE
U+0009 TAB
U+000A LF
U+000D CR
Exemple 6
[A-Za-z_][A-Za-z0-9_]*
Exemple 7
_value // utilisateur autorisé
__value // réservé interne
Exemple 8
( ) grouping, calls, control headers, parameters
[ ] indexing et constructions définies par leur grammaire
{ } blocks et constructions à accolades
; fin d'un statement ou d'une déclaration sans corps
, séparation de deux éléments ; séparateur de listes init/update dans for
. qualification de namespace
:: qualification de membre/symbole
=> séparateur grammatical pattern -> bloc dans match
= assignment
+ - * / % arithmetic
& | ^ ~ bitwise/logical selon type ; | sépare aussi les alternatives d'un pattern
! logical negation / !=
< > comparaison, shifts et syntaxe générique selon contexte
.. famille de délimiteurs de Range, avec >.., ..< et >..<
' char delimiter
" String delimiter
_ identifiant / séparateur numérique / wildcard de pattern selon contexte
Exemple 9
# raw-string delimiter et shebang autorisé seulement selon sa règle dédiée
@ réservé hors commentaires/Saseldoc
$ réservé, notamment pendant la finalisation de l'interpolation
? réservé sans sémantique V1 encore attribuée
` réservé/interdit à l'utilisateur
\ uniquement selon les règles d'escape des littéraux
Exemple 10
Map<String,List<int32>>
Exemple 11
{
int32 myvar = 42;
}
DO / DON'T / WHY / compiler error / edge cases
La couverture structurée de cette section sera enrichie au fur et à mesure de la fermeture des règles du chapitre. La migration 0.2.12 conserve volontairement les exemples historiques dans le chapitre afin de ne perdre aucun contexte normatif.