Analyse lexicaleEn informatique, l’analyse lexicale, lexing, segmentation ou tokenization est la conversion d’une chaîne de caractères (un texte) en une liste de symboles (tokens en anglais). Elle fait partie de la première phase de la chaîne de compilation. Ces symboles sont ensuite consommés lors de l'analyse syntaxique. Un programme réalisant une analyse lexicale est appelé un analyseur lexical, tokenizer ou lexer. Un analyseur lexical est généralement combiné à un analyseur syntaxique pour analyser la syntaxe d'un texte.
Flex (logiciel)Flex est une version libre de l'analyseur lexical Lex. Il est généralement associé à l'analyseur syntaxique GNU Bison, la version GNU de Yacc. Flex est un outil pour générer des analyseurs, programmes qui reconnaissent des motifs lexicaux dans du texte. Il lit les fichiers d'entrée donnés, ou bien son entrée standard si aucun fichier n'est donné, pour obtenir la description de l'analyseur à générer. La description est une liste de paires d'expressions rationnelles et de code C, appelées règles.
Expression régulièrevignette|Stephen Cole Kleene, dont les travaux ont fondé le concept d'expression régulière. En informatique, une expression régulière ou expression rationnelle ou expression normale ou motif est une chaîne de caractères qui décrit, selon une syntaxe précise, un ensemble de chaînes de caractères possibles. Les expressions régulières sont également appelées regex (un mot-valise formé depuis l'anglais regular expression). Les expressions rationnelles sont issues des théories mathématiques des langages formels des années 1940.
ANTLRANTLR, sigle de ANother Tool for Language Recognition, est un framework libre de construction de compilateurs utilisant une analyse LL(*), créé par Terence Parr à l'Université de San Francisco. ANTLR prend en entrée une grammaire définissant un langage et produit le code reconnaissant ce langage. La dernière version d'ANTLR permet de générer du code pour les langages Java, C#, Python2, Python3, JavaScript, C++, Go, Swift et PHP. Dans sa dernière version, ANTLR peut supporter des grammaires utilisant de la récursivité gauche directe, mais pas indirecte.
Scannerless parsingIn computer science, scannerless parsing (also called lexerless parsing) performs tokenization (breaking a stream of characters into words) and parsing (arranging the words into phrases) in a single step, rather than breaking it up into a pipeline of a lexer followed by a parser, executing concurrently. A language grammar is scannerless if it uses a single formalism to express both the lexical (word level) and phrase level structure of the language.
Lex (logiciel)vignette|Éric Schmidt, programmeur de Lex.. Lex est un outil de génération d'analyseurs lexicaux en langage C. Du point de vue de la classification des langages, Lex est capable de traiter des langages de type 3 (réguliers). Il a été originellement écrit par Mike Lesk et Eric Schmidt (devenu PDG, puis président exécutif du conseil d'administration de Google) et fut décrit en 1975. Il est fréquemment utilisé en association avec Yacc, générateur d'analyseur syntaxique. Flex est la version GNU de Lex.
Lexical grammarIn computer science, a lexical grammar or lexical structure is a formal grammar defining the syntax of tokens. The program is written using characters that are defined by the lexical structure of the language used. The character set is equivalent to the alphabet used by any written language. The lexical grammar lays down the rules governing how a character sequence is divided up into subsequences of characters, each part of which represents an individual token. This is frequently defined in terms of regular expressions.
Theory of computationIn theoretical computer science and mathematics, the theory of computation is the branch that deals with what problems can be solved on a model of computation, using an algorithm, how efficiently they can be solved or to what degree (e.g., approximate solutions versus precise ones). The field is divided into three major branches: automata theory and formal languages, computability theory, and computational complexity theory, which are linked by the question: "What are the fundamental capabilities and limitations of computers?".
Indentation comme syntaxeUn langage de programmation utilise l'indentation comme syntaxe si une zone de code indentée délimite un bloc. Un bloc est une entité programmatique qui délimite une portée. Peter J. Landin a inventé le concept de l'indentation comme syntaxe et créé le terme anglais off-side rule qui le désigne en 1966. Il constitue une alternative au . L'exemple qui suit est un exemple de bloc en Python (noter les deux points obligatoires - Ils sont des marqueurs syntaxiques qui facilitent la lecture) : def fib(n): if n
Parsing expression grammarIn computer science, a parsing expression grammar (PEG) is a type of analytic formal grammar, i.e. it describes a formal language in terms of a set of rules for recognizing strings in the language. The formalism was introduced by Bryan Ford in 2004 and is closely related to the family of top-down parsing languages introduced in the early 1970s. Syntactically, PEGs also look similar to context-free grammars (CFGs), but they have a different interpretation: the choice operator selects the first match in PEG, while it is ambiguous in CFG.
Induction of regular languagesIn computational learning theory, induction of regular languages refers to the task of learning a formal description (e.g. grammar) of a regular language from a given set of example strings. Although E. Mark Gold has shown that not every regular language can be learned this way (see language identification in the limit), approaches have been investigated for a variety of subclasses. They are sketched in this article. For learning of more general grammars, see Grammar induction.
Langage rationnelEn théorie des langages, les langages rationnels ou langages réguliers ou encore langages reconnaissables peuvent être décrits de plusieurs façons équivalentes : ce sont les langages décrits par les expressions régulières ou rationnelles, d'où le nom de langages réguliers ; ce sont les langages obtenus, à partir des lettres et de l'ensemble vide, par les opérations rationnelles, à savoir l'union, le produit et l'étoile de Kleene, d'où le nom de langages rationnels ; ce sont les langages reconnus par des auto
Grammaire régulièreEn informatique théorique, en théorie des langages, une grammaire régulière, rationnelle ou à états finis est une grammaire hors-contexte particulière qui décrit un langage régulier. Les grammaires régulières donnent donc une autre possibilité que les expressions rationnelles et les automates finis pour décrire un langage régulier. Une grammaire régulière peut être « à gauche » ou « à droite ». Une grammaire régulière à gauche est un ensemble de règles de la forme : où , sont des symboles non-terminaux et un symbole terminal.
Mesure de courantEn génie électrique, une mesure de courant est une des techniques utilisées pour évaluer la valeur d'un courant électrique dans un circuit électrique (exprimé en ampères). Il existe plusieurs méthodes de mesure de courant, le choix de l'une d'entre elles dépend des différentes exigences : la nature du courant, continu ou alternatif, la grandeur du courant à mesurer (du picoampère à des dizaines de milliers d'ampères), de la complexité et de l'impact de la mesure sur le fonctionnement du système, du coût, de la précision, de la bande passante, de robustesse, etc.
Kuroshiovignette|Les courants entourant le Japon : 1. Kuroshio 2. extension du Kuroshio 3. contre courant du Kuroshio 4. courant de Tsushima 5. courant Tsugaru 6. courant de Sōya 7. Oya shivo 8. courant de Liman. Le courant de Kuroshio, en japonais , anciennement orthographié Kuroshiwo ou Kuro shivo, est le second plus grand courant marin au monde, après le Gulf Stream. Il débute dans l'ouest de l'océan Pacifique au large de la côte orientale de Taïwan et se dirige vers les eaux au nord-est du Japon où il fusionne avec la dérive orientale du courant du Pacifique nord.
Courant électriqueUn courant électrique est un mouvement d'ensemble de porteurs de charges électriques, généralement des électrons, au sein d'un matériau conducteur. Ces déplacements sont imposés par l'action de la force électromagnétique, dont l'interaction avec la matière est le fondement de l'électricité. On doit au physicien français André-Marie Ampère la distinction entre courant et tension électriques.
Courant marinvignette|upright=1.6|Principaux courants marins (en rouge les courants chauds, en bleu les courants froids) qui convoient la chaleur à l'échelle de chaque hémisphère terrestre, nord et sud séparément. Un courant marin est un déplacement horizontal d'eau de mer dû aux effets combinés du vent, de la force de Coriolis et de différences de température, densité et salinité ; ainsi qu'aux contours des continents, aux reliefs de profondeur et à l'interaction entre courants.
Commentaire (informatique)vignette|Exemple de code source Java avec coloration syntaxique : le code source est en bleu, les commentaires en rouge (commentaires en bloc) et en vert (commentaires en ligne). Les commentaires sont, en programmation informatique, des portions du code source ignorées par le compilateur ou l’interpréteur, car destinées en général à un lecteur humain et non censées influencer l’exécution du programme.
Courant continuLe courant continu ou CC (DC pour direct current en anglais) est un courant électrique dont l'intensité est indépendante du temps (constante). C'est, par exemple, le type de courant délivré par les piles ou les accumulateurs. Par extension, on nomme courant continu un courant périodique dont l'intensité est toujours assez proche de sa valeur moyenne ou dont la composante continue (sa valeur moyenne) est d'importance primordiale, ou encore un courant électrique qui circule continuellement (ou très majoritairement) dans le même sens (dit aussi unidirectionnel).
LangageLe langage est la capacité d'exprimer une pensée et de communiquer au moyen d'un système de signes (vocaux, gestuel, graphiques, tactiles, olfactifs, etc.) doté d'une sémantique, et le plus souvent d'une syntaxe — mais ce n'est pas systématique (la cartographie est un exemple de langage non syntaxique). Fruit d'une acquisition, la langue est une des nombreuses manifestations du langage. Les langages sont constitués de signaux correspondant au support physique de l'information.