Chaîne vide – Wikipédia

Chaîne unique de longueur zéro

Dans la théorie du langage formel, le chaîne videou alors mot videest la chaîne unique de longueur zéro.

théorie formelle[edit]

Formellement, une chaîne est une séquence finie et ordonnée de caractères tels que des lettres, des chiffres ou des espaces. La chaîne vide est le cas particulier où la séquence a une longueur nulle, donc il n’y a pas de symboles dans la chaîne. Il n’y a qu’une seule chaîne vide, car deux chaînes ne sont différentes que si elles ont des longueurs différentes ou une séquence de symboles différente. Dans les traitements formels,[1] la chaîne vide est désignée par e ou alors Λ ou alors λ.

La chaîne vide ne doit pas être confondue avec le langage vide ∅, qui est un langage formel (c’est-à-dire un ensemble de chaînes) qui ne contient aucune chaîne, pas même la chaîne vide.

La chaîne vide a plusieurs propriétés :

  • |ε| = 0. Sa longueur de chaîne est nulle.
  • ε ⋅ s = s ⋅ ε = s. La chaîne vide est l’élément d’identité de l’opération de concaténation. L’ensemble de toutes les chaînes forme un monoïde libre par rapport à ⋅ et ε.
  • eR = ε. L’inversion de la chaîne vide produit la chaîne vide.
  • La chaîne vide précède toute autre chaîne dans l’ordre lexicographique, car c’est la plus courte de toutes les chaînes.[2]

Dans les grammaires sans contexte, une règle de production qui permet à un symbole de produire la chaîne vide est connue sous le nom de ε-production, et le symbole est dit « nullable ».

Utilisation dans les langages de programmation[edit]

Dans la plupart des langages de programmation, les chaînes sont un type de données. Les chaînes sont généralement stockées à des adresses mémoire distinctes (emplacements). Ainsi, la même chaîne (par exemple, la chaîne vide) peut être stockée à deux endroits ou plus en mémoire.

De cette manière, il pourrait y avoir plusieurs chaînes vides en mémoire, contrairement à la définition de la théorie formelle, pour laquelle il n’y a qu’une seule chaîne vide possible.Cependant, une fonction de comparaison de chaînes indiquerait que toutes ces chaînes vides sont égales les unes aux autres .

Même une chaîne de longueur zéro peut nécessiter de la mémoire pour la stocker, selon le format utilisé. Dans la plupart des langages de programmation, la chaîne vide est distincte d’une référence nulle (ou d’un pointeur nul) car une référence nulle ne pointe vers aucune chaîne, pas même la chaîne vide. La chaîne vide est une chaîne légitime, sur laquelle la plupart des opérations de chaîne doivent travail. Certains langages traitent tout ou partie des éléments suivants de manière similaire : les chaînes vides, les références nulles, l’entier 0, le nombre à virgule flottante 0, la valeur booléenne false, le caractère ASCII NUL ou d’autres valeurs similaires.

La chaîne vide est généralement représentée de la même manière que les autres chaînes. Dans les implémentations avec un caractère de fin de chaîne (chaînes terminées par un caractère nul ou lignes de texte en clair), la chaîne vide est indiquée par l’utilisation immédiate de ce caractère de fin.

Représentation λ Langages de programmation
"" C, C#, C++, Go, Haskell, Java, JavaScript, Julia, Lua, M, Objective-C (sous forme de chaîne C), OCaml, Perl, PHP, Python, Ruby, Scala, Standard ML, Swift, Tcl, Visual .NET de base
'' APL, Delphi, JavaScript, Lua, MATLAB, Pascal, Perl, PHP, Python, R, Ruby, Smalltalk, SQL
character(0) R[3]
'' C, C++, Objective-C (sous forme de chaîne C)
std::string() C++
""s C++ (depuis les normes 2014)
@"" Objective-C (en tant que constante NSString chose)
[NSString string] Objective-C (en tant que nouveau NSString chose)
q(), qq() perle
str() python
%
%()
rubis
String::new()[4] Rouiller
string.Empty C#, Visual Basic .NET
String.make 0 '-' OCamlComment
TCL
[[]] lua

Exemples de chaînes vides[edit]

La chaîne vide est une représentation syntaxiquement valide de zéro en notation positionnelle (dans n’importe quelle base), qui ne contient pas de zéros non significatifs. Étant donné que la chaîne vide n’a pas de représentation visuelle standard en dehors de la théorie du langage formel, le nombre zéro est traditionnellement représenté par un seul chiffre décimal 0 au lieu.

La zone de mémoire remplie de zéros, interprétée comme une chaîne terminée par un caractère nul, est une chaîne vide.

Les lignes de texte vides affichent la chaîne vide. Cela peut se produire à partir de deux EOL consécutifs, comme cela se produit souvent dans les fichiers texte, et cela est parfois utilisé dans le traitement de texte pour séparer les paragraphes, par exemple dans MediaWiki.

Alors vois[edit]

Références[edit]