Compilateur de compilateurEn informatique, un compilateur de compilateur est un programme capable de produire la totalité ou certaines parties du code source d'un compilateur (partie analyse lexicale, partie analyse syntaxique, partie analyse sémantique, partie synthèse, partie de gestion des erreurs, etc.) pour former en un tout cohérent, le code source du compilateur souhaité. Comme un compilateur classique, il accepte un langage source, par exemple une grammaire couplée à un ensemble d'actions.
Arbre de la syntaxe abstraiteEn informatique, un arbre de la syntaxe abstraite ou ASA (abstract syntax tree, ou AST, en anglais) est un arbre dont les nœuds internes sont marqués par des opérateurs et dont les feuilles (ou nœuds externes) représentent les opérandes de ces opérateurs. Autrement dit, généralement, une feuille est une variable ou une constante. Un arbre de la syntaxe abstraite est utilisé par un analyseur syntaxique comme un intermédiaire entre un arbre d'analyse et une structure de données.
AssociativitéEn mathématiques, et plus précisément en algèbre générale, une loi de composition interne ou loi interne sur un ensemble E est dite associative si pour tous x, y et z dans E : En notant , l'associativité se traduit par le diagramme commutatif suivant : Parmi les lois associatives, on peut citer les lois d'addition et de multiplication des nombres réels, des nombres complexes et des matrices carrées, l'addition des vecteurs, et l'intersection, la réunion d'ensembles.
Non-associative algebraA non-associative algebra (or distributive algebra) is an algebra over a field where the binary multiplication operation is not assumed to be associative. That is, an algebraic structure A is a non-associative algebra over a field K if it is a vector space over K and is equipped with a K-bilinear binary multiplication operation A × A → A which may or may not be associative. Examples include Lie algebras, Jordan algebras, the octonions, and three-dimensional Euclidean space equipped with the cross product operation.
AssociateurDans une algèbre ou un anneau non nécessairement associative, l'associateur de trois éléments x, y et z, noté A(x,y,z) est défini par . Il est parfois noté aussi s'il n'y a pas de risque de confusion avec un produit mixte. L'associativité est exprimée par la nullité de la fonction A sur tous les triplets. L'alternativité est exprimée par l'égalité pour tout couple d'éléments (x,y). L'associateur est un opérateur trilinéaire. L'associateur permet de définir le noyau de la structure, à savoir l'ensemble des x tels que pour y et z quelconques, on a .
Algèbre associativevignette|Relations entre certaines structures algébriques. En mathématiques, une algèbre associative (sur un anneau commutatif A) est une des structures algébriques utilisées en algèbre générale. C'est un anneau (ou simplement un pseudo-anneau) B muni d'une structure supplémentaire de module sur A et tel que la loi de multiplication de l'anneau B soit A-bilinéaire. C'est donc un cas particulier d'algèbre sur un anneau. Soit A un anneau commutatif. On dit que (B , + , . , × ) est une A-algèbre associative lorsque : (B , + , .
Ordre des opérationsvignette|Ordre des opérations En mathématiques, la priorité des opérations ou ordre des opérations sont un ensemble de règles d'usage faisant consensus au sein de la communauté des mathématiciens. Elle précise l'ordre dans lequel les calculs doivent être effectués dans une expression complexe. Les règles de priorité sont : Les calculs entre parenthèses ou crochets sont prioritaires sur les calculs situés en dehors.
String literalA string literal or anonymous string is a literal for a string value in the source code of a computer program. Modern programming languages commonly use a quoted sequence of characters, formally "bracketed delimiters", as in x = "foo", where "foo" is a string literal with value foo. Methods such as escape sequences can be used to avoid the problem of delimiter collision (issues with brackets) and allow the delimiters to be embedded in a string. There are many alternate notations for specifying string literals especially in complicated cases.
Analyseur LRComme tout analyseur grammatical (ou analyseur syntaxique), un analyseur LR vise à vérifier si une chaîne de caractères (typiquement contenue dans un fichier) possède bien la structure d'une grammaire spécifiée à l'avance. Cette vérification s'accompagne généralement d'actions. Une action typique est la génération d'une autre chaîne de caractères ou encore d'un arbre d'analyse. Ainsi l'analyse grammaticale est généralement utilisée pour la compilation (transformation d'un code source en code machine).
Chaîne de caractèresEn informatique, une chaîne de caractères est à la fois conceptuellement une suite ordonnée de caractères et physiquement une suite ordonnée d' unités de code (code unit). La chaîne de caractères est un type de donnée dans de nombreux langages informatiques. La traduction en anglais est string. À l'époque des pionniers, on a communément confondu chaîne de caractères et chaîne d'octets, ce qui prête aujourd'hui à confusion, lorsque l'on ne veut pas se limiter à 255 caractères.
C syntaxThe syntax of the C programming language is the set of rules governing writing of software in the C language. It is designed to allow for programs that are extremely terse, have a close relationship with the resulting object code, and yet provide relatively high-level data abstraction. C was the first widely successful high-level language for portable operating-system development. C syntax makes use of the maximal munch principle. C data types The C language represents numbers in three forms: integral, real and complex.
Combinateur d'analyseursEn programmation informatique, un combinateur d'analyseurs est une fonction d'ordre supérieur qui accepte plusieurs analyseurs en entrée et renvoie un nouvel analyseur en sortie. Dans ce contexte, un analyseur est une fonction acceptant des chaînes en entrée et renvoyant une structure en sortie, généralement un arbre d'analyse ou un ensemble d'indices représentant les emplacements dans la chaîne où l'analyse s'est arrêtée avec succès.