[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: [DICO] escape



Le vendredi  4 juillet 2003, à 22:14, Philippe Batailler écrivait :
> Ce sens transitif est clairement marqué comme archaïque et
> régionaliste.

Mouais, mais en menant une petite enquête autour de moi, tout le monde a
l'air de trouver l'expression « échapper quelque chose » naturelle. La
classification régionaliste me semble donc des plus suspectes. En tout
état de cause, c'est très loin de se limiter au seul Québec. Je présume
que le lexicographe n'en a relevé d'exemples que dans la littérature
québecoise...!?

> Je changerais la ligne suivante :
>[...]
> <entry orig="to escape (a string, a character)" trans="protéger ou
> déspécialiser, voire échapper (une chaîne, un caractère)">

Soit. Je ne pense pas que ce soit une bonne chose, mais bon...

> Mais échappe-t-on des chaînes ?
> Je veux dire : seul un caractère peut être déspécialisé, non ?

Si tu fais « echo '$(expr 3 + 4)' », c'est bien l'ensemble de la chaîne
entre apostrophes qui est protégée, non ?

ci-joint une nouvelle version avec la table ASCII proposée par Frédéric
Bothamy (merci à lui) et l'ajout de « déspécialiser » suite à
l'entêtement de Philippe Batailler (grmbl, grmbl ;-)).

-- 
Laurent
#include "../dico.template" title="escape (characters)"

<entry orig="escape sequence" trans="séquence d'échappement">
<entry orig="escape character" trans="caractère d'échappement">
<entry orig="to escape (a string, a character)" trans="protéger, déspécialiser ou échapper (une chaîne, un caractère)">

<p>Le <em>caractère d'échappement</em>, auquel on fait souvent référence par
l'abréviation ESC, a été <a href="http://www.bobbemer.com/ESCAPE.HTM";>inventé</a>
pour permettre de signaler que les caractères qui le suivent doivent être
interprétés d'une manière différente de ceux qui le précèdent. Concrètement,
cela permet un changement de mode, le plus souvent pour passer des commandes au
périphérique ou à l'ordinateur qui reçoit les données en entrée.</p>

<p>La <em>séquence d'échappement</em> désigne l'ensemble composé par le
caractère d'échappement et les caractères qui suivent.</p>

<p>L'éditeur <cite>vi</cite>, qui distingue un mode insertion et un mode
commande, le passage du premier au deuxième se faisant par le biais de la touche
d'échappement, illustre bien le principe de ce fonctionnement.</p>

<p>Les séquences d'échappement des terminaux ont fait l'objet d'une
<a href="http://adm.lacitec.on.ca/~ymicha/mcours/micro1/escape.html";>normalisation
ANSI</a>. Vous pouvez en trouver des exemples d'utilisation dans le
<a href="http://www.tldp.org/HOWTO/Bash-Prompt-HOWTO/c341.html";>Bash-Prompt-HOWTO</a>.
Une fois que vous vous serez fait le main sur l'invite de votre interpréteur de
commandes, vous pourrez en faire profiter vos amis pour peu qu'ils utilisent
<a href="http://www.mutt.org/doc/manual/manual-2.html#ss2.3";>Mutt</a>, et que
la perspective de violer la netiquette ne trouble pas votre âme intrépide.</p>

<p>Le caractère d'échappement <a href="http://www.rpi.edu/~kirkd/ascii/";>ASCII</a> est
le code 27, 0x1B, ou encore 033.</p>

<p>Il existe d'autres conventions, comme
<a href="http://www.wikipedia.org/wiki/Hayes_AT_command_set";>le jeu de commandes
Hayes</a> des modems, qui utilise la séquence «&nbsp;+++&nbsp;» comme caractère
d'échappement.</p>

<p>Le langage C a popularisé l'antislash ('\') en tant que caractère
d'échappement, ainsi qu'un certain nombre de
<a href="http://www.liquifried.com/docs/useful/Cescapeseq.html";>séquences
d'échappement</a>. Comme ces séquences comprennent la possibilité d'ôter à
certains caractères leur signification pour le compilateur (comme l'antislash
lui-même, ou l'apostrophe), le terme <em>caractère d'échappement</em> a pris par
extension le sens de <i>caractère permettant de faire en sorte qu'un caractère,
ou une séquence de caractères, donné «&nbsp;échappe&nbsp;» au traitement d'un
interpréteur, d'un pré-processeur, d'un analyseur, etc..</i></p>

<p>Dans un souci de clarté, il est préférable de parler dans ce cas de
«&nbsp;protection&nbsp;» du ou des caractères échappés.</p>

<p>Ainsi, le point ('.') représente n'importe quel caractère dans une expression
régulière. Pour faire correspondre l'expression au caractère du point lui-même,
il faut le protéger à l'aide du caractère d'échappement '\', ce qui donne
/\./.</p>

<p>Ou encore, pour éviter que le caractère '$' soit interprété comme un
opérateur de déréférencement de variable par l'interpréteur de commandes
<cite>Bash</cite>, il convient de le protéger à l'aide du caractère
d'échappement '\' ou en le plaçant au sein d'une expression entre
apostrophes.</p>

<dico-footer>

Reply to: