Technopedia Center
PMB University Brochure
Faculty of Engineering and Computer Science
S1 Informatics S1 Information Systems S1 Information Technology S1 Computer Engineering S1 Electrical Engineering S1 Civil Engineering

faculty of Economics and Business
S1 Management S1 Accountancy

Faculty of Letters and Educational Sciences
S1 English literature S1 English language education S1 Mathematics education S1 Sports Education
  • Registerasi
  • Brosur UTI
  • Kip Scholarship Information
  • Performance
  1. Weltenzyklopädie
  2. Moteur d'analyse de grammaire — Wikipédia
Moteur d'analyse de grammaire — Wikipédia 👆 Click Here! Read More..
Un article de Wikipédia, l'encyclopédie libre.
(Redirigé depuis PGE (Perl))
Page d’aide sur l’homonymie

Pour les articles homonymes, voir PGE.

Le Parser Grammar Engine (PGE ou en français, moteur d'analyse de grammaire) est un compilateur et un moteur d'exécution pour les regex Perl 6 pour la machine virtuelle Parrot[1]. PGE utilise ses règles pour convertir une parsing expression grammar en bytecode Parrot.

Il compile donc les règles en un programme, contrairement à la plupart des machines virtuelles, qui stockent les expressions rationnelles en un format interne secondaire qui est ensuite interprété au moteur d'exécution par un moteur de gestion d'expressions rationnelles en ce format. Le format des règles analysables par PGE peut exprimer toute expression rationnelle et beaucoup de grammaires formelles. Comme tel, PGE forme le premier maillon d'une chaîne de compilation de langages de haut niveau; chaîne dont parrot est le dorsal.

Lorsque exécuté, le bytecode généré par PGE analysera le texte comme spécifié par les règles d'entrée, générant un arbre d'analyse.
Celui-ci sera manipulé directement ou passé au maillon suivant de la chaîne de compilation de Parrot afin de générer un AST à partir duquel la génération de code peut être faite si la grammaire décrit un langage de programmation.

Histoire

[modifier | modifier le code]

Originellement nommé P6GE et écrit en langage C, PGE a été manuellement transcrit en source Parrot et renommé peu après sa release initiale en novembre 2004. Son auteur est Patrick R. Michaud[2]. il a écrit PGE afin de réduire la quantité de travail nécessaire à la mise en œuvre d'un maillon compilateur au-dessus de Parrot. Il a aussi écrit PGE pour permettre l'autohébergement de Perl 6, bien que le développement de la version courante de Pugs n'utilise plus PGE mais un engin natif appelé PCR[3].

Internes

[modifier | modifier le code]

PGE combines trois styles d'analyse :

  • les règles Perl
  • un analyseur à précédence d'opérateur
  • des sous-routines spécialisées

Le style premier est celui des règles Perl 6, donc un règle PGE peut ressembler à ceci pour une grammaire qui décrit un langage qui supporte seulement l'opérateur d'addition :

rule term   { <number> | \( <expr> \) }
rule number { \d+ }
rule expr   { <term> ( '+' <term> )* }

L'analyseur à précédence d'opérateurs permet de construire une table d'opérateurs qui peut être utilisée dans un analyseur Perl 6. Ainsi :

rule expr is optable { ... }
rule term   { <number> | \( <expr> \) }
rule number { \d+ }
proto term: is precedence('=')
            is parsed(&term) {...}
proto infix:+ is looser('term:') {...}

Cela accomplit la même chose que la grammaire précédente. mais le fait en utilisant une combinaison de regex et de règles pour term et number et un automate shift-reduce pour tout le reste.

Génération de code

[modifier | modifier le code]

Bien que la sortie PGE génère du code Parrot qui analyse la grammaire décrite par une règle, et peut donc être utilisé pour traiter des grammaires simples et des expressions rationnelles, son but principal est l'analyse de langages de haut niveau.

La chaîne de compilation Parrot est divisée en plusieurs parties, dont PGE est la première. PGE convertit le code source en un arbre d'analyse. TGE, le Tree Grammar Engine le convertit ensuite en PAST (Parrot Abstract Syntax Tree, ou, en français, Arbre syntaxique d'analyse). Une seconde passe de TGE convertit le PAST en POST (Parrot Opcode Syntax Tree, ou, en français Arbre syntaxique d'opcodes) qui est directement transformé en bytecode exécutable.

Références

[modifier | modifier le code]
  1. ↑ Michaud, Patrick R., « Parrot Grammar Engine (PGE) », 22 novembre 2004
  2. ↑ Michaud, Patrick R., « First public release of grammar engine », 8 novembre 2004
  3. ↑ "Agent Zhang", « PCR replaces PGE in Pugs », 17 septembre 2006

Liens externes

[modifier | modifier le code]
  • « Parsers, Perl 6 Rules, and the Parrot Grammar Engine », 28 juin 2006
  • icône décorative Portail de la linguistique
  • icône décorative Portail de l’informatique
  • icône décorative Portail de la programmation informatique
Ce document provient de « https://fr.teknopedia.teknokrat.ac.id/w/index.php?title=Moteur_d%27analyse_de_grammaire&oldid=211801867 ».
Catégories :
  • Perl
  • Machine virtuelle
  • Langage formel
Catégories cachées :
  • Portail:Linguistique/Articles liés
  • Portail:Langues/Articles liés
  • Portail:Sciences humaines et sociales/Articles liés
  • Portail:Informatique/Articles liés
  • Portail:Technologies/Articles liés
  • Portail:Programmation informatique/Articles liés

  • indonesia
  • Polski
  • الرية
  • Deutsch
  • English
  • Español
  • Français
  • Italiano
  • مصر
  • Nederlands
  • 本語
  • Português
  • Sinugboanong Binisaya
  • Svenska
  • Українска
  • Tiếng Việt
  • Winaray
  • 中文
  • Русски
Sunting pranala
Pusat Layanan

UNIVERSITAS TEKNOKRAT INDONESIA | ASEAN's Best Private University
Jl. ZA. Pagar Alam No.9 -11, Labuhan Ratu, Kec. Kedaton, Kota Bandar Lampung, Lampung 35132
Phone: (0721) 702022
Email: pmb@teknokrat.ac.id