Notation et vocabulaire
Le vocabulaire de base comprend des symboles élémentaires classés en lettres, chiffres et symboles spéciaux. Ces symboles spéciaux sont les opérateurs et les délimiteurs :
| + | : | ( | and | end | nil | set |
| - | ' | ) | array | file | not | then |
|---|---|---|---|---|---|---|
| * | = | [ | begin | for | of | to |
| / | <> | ] | case | function | or | type |
| := | < | { | const | goto | packed | until |
| . | <= | } | div | if | procedure | var |
| . | >= | ↑ | do | in | program | while | ; | > | .. | downto | label | record | with |
| else | mod | repeat |
Les délimiteurs de mots (ou mots réservés) sont généralement soulignés dans le programme manuscrit afin de souligner leur interprétation comme des symboles uniques à signification fixe. Le programmeur ne peut pas utiliser ces mots dans un contexte autre que celui explicitement défini par Pascal : en particulier, ils ne peuvent pas être utilisés comme identifiants. Ils s'écrivent sous forme de séquence de lettres (sans caractères d'échappement).
La construction :
| {<toute séquence de symboles ne contenant pas "}">} |
Peut être inséré entre deux identifiants, nombres ou symboles spéciaux. On parle alors de commentaire et il peut être supprimé du texte du programme sans en altérer la signification. Les symboles { et } n'apparaissent pas autrement dans le langage. Lorsqu'ils apparaissent dans les descriptions syntaxiques, ils désignent des méta-symboles tels que | et ::=. (Sur les systèmes où les accolades ne sont pas disponibles, les paires de caractères (* et *) sont utilisées à leur place.)
Les identifiants sont des noms désignant des constantes, des types, des variables, des procédures et des fonctions. Ils doivent commencer par une lettre, suivie de n'importe quelle combinaison et nombre de lettres et de chiffres. Bien qu'un identifiant puisse être très long, les implémentations peuvent imposer une limite quant au nombre de caractères significatifs parmi ces caractères. Les implémentations du Pascal Standard reconnaissent toujours les 8 premiers caractères d'un identifiant comme significatifs. Autrement dit, les identifiants désignant des objets distincts doivent différer par leurs 8 premiers caractères.
Voici le diagramme d'un identificateur :
Exemples d'identifiants légaux :
- sum root3 pi h4g x
- thisisaverylongbutneverthelesslegalidentifier
- thisisaverylongbutprobablythesameidentifierasabove
identifiants illégaux :
- 3rd array level.4 root-3
Certains identifiants, appelés identifiants standards, sont prédéfinis (par exemple, sin, cos). Contrairement aux délimiteurs de mots (par exemple, tableau), cette définition n'est pas limitée et il est possible de redéfinir n'importe quel identifiant standard, car ils sont supposés être déclarés dans un bloc hypothétique entourant l'ensemble du bloc de programme.
La notation décimale est utilisée pour les nombres. La lettre E précédant le facteur d'échelle se prononce «fois 10 puissance». La syntaxe des nombres non signés est résumée dans la figure suivante :
Notez que si le nombre contient un point décimal, au moins un chiffre doit précéder et suivre le point. De plus, aucun nombre ne doit contenir de virgule.
Nombres non signés :
- 3 03 6272844 0.6 5E-8 49.22E+08 1E 10
nombres mal écrits :
- 3,487,159 XII .6 E10 5.E-16
Les espaces, les fins de ligne et les commentaires sont considérés comme des séparateurs. Un nombre arbitraire de séparateurs peut être utilisé entre deux symboles Pascal consécutifs, à l'exception suivante : aucun séparateur ne peut être utilisé entre les identifiants, les nombres ou les symboles spéciaux. Cependant, au moins un séparateur doit être utilisé entre chaque paire d'identifiants, de nombres ou de symboles de mots consécutifs.
Les séquences de caractères entre guillemets simples sont appelées chaînes. Pour inclure un guillemet dans une chaîne, il suffit de l'écrire deux fois.
Exemples de chaînes :
- 'a' ';' '3' 'begin ' 'don''t '
- ' cette chaîne comporte 40 caractères '