Règles lexicales
De ZbahWiki.
Les règles lexicales décrivent comment NXC rompt un fichier source en morceaux séparés. Cela comprend la façon dont les commentaires sont écrits, le traitement des espaces et des caractères valides pour les identificateurs.
Sommaire |
Les commentaires
Deux formes de commentaires sont pris en charge dans NXC. Les premiers sont des commentaires traditionnels au C. Ils commencent par "/*" et se terminent par "*/". Ces commentaires sont autorisés à s'étendre sur plusieurs lignes, mais ils ne peuvent pas être imbriqués.
/* C'est un commentaire */ /* C'est 2 lignes de commentaires */ /* un autre... /* on essai d'imbriquer... fin du commentaire de l’intérieur...*/ ce texte n'est pas commenté */
La deuxième forme de commentaires pris en charge par le NXC commence par "//" et se poursuit jusqu'à la fin de la ligne actuelle.
// une simple ligne commentée
Comme vous pouvez le deviner, le compilateur ignore les commentaires. Leur seul but est de permettre au programmeur de documenter le code source.
Les espaces vides
Les espaces vides se compose de tous les espaces, les tabulations et sauts de ligne. Il est utilisé pour des parties séparées et pour faire un programme plus lisible. Tant que les parties se distinguent, ajouter ou enlever des espaces n'a pas d'effet sur le sens d'un programme. Par exemple, les lignes suivantes de code ont le même sens:
x=2; x = 2 ;
Certains des opérateurs C++ se composent de caractères multiples. Afin de préserver ces signes, les espaces ne peuvent pas apparaître en leur sein. Dans l'exemple ci-dessous, la première ligne utilise un opérateur de décalage droit (">>"), mais dans la deuxième ligne un espace est ajouté après le premier symbole ">", doit donc être interprété en deux parties séparées et se traduit donc par une erreur du compilateur.
x = 1 >> 4; x = 1 > > 4; // erreur
Les constantes numériques
Les constantes numériques peuvent être écrites en décimal ou en hexadécimal. Les constantes décimales se composent de un ou plusieurs chiffres décimaux. Les constantes décimales peuvent éventuellement contenir un point décimal avec un ou plusieurs chiffres après la virgule. Constantes hexadécimales commencent par 0x ou 0X suivi par un ou plusieurs chiffres hexadécimaux.
x = 10; // x vaut 10 x = 0x10; // x vaut 16 (10 hex) f = 10.5; // f vaut 10.5
Les constantes de chaînes de caractères
Les constantes de chaîne en NXC, tout comme en C, sont délimitées par des guillemets doubles. NXC a un type de données chaîne qui fabrique des string plus faciles à utiliser qu'en C. À l'arrière plan, une chaîne de caractères est automatiquement convertie en un tableau d'octets, avec le dernier octet du tableau étant un zéro. Le dernier octet zéro est généralement dénommé le terminateur null.
TextOut(0, LCD_LINE1, "testing");
Les constantes de caractères
Les constantes en NXC sont délimités par des guillemets simples et ne peuvent contenir qu'un seul caractère ASCII. La valeur d'un caractère constant est la valeur numérique du caractère en ASCII.
char ch = ’a’; // ch == 97
Les identifiants et mots-clés
Les identifiants sont utilisés pour les variables, les tâches, les fonctions, et les noms de sous-routines. Le premier caractère d'un identificateur doit être une lettre majuscule ou minuscule ou le caractère de soulignement ('_'). Les autres caractères peuvent être des lettres, des chiffres et des caractères de soulignement. Un certain nombre de termes sont réservés à un usage exclusif au NXC. On les appelle des mots-clés et ne peuvent être utilisés comme identifiants. Voici une liste complète des mots-clés :