pyPEG

Szoftver screenshot:
pyPEG
Szoftver adatai:
Változat: 2.4.1
Feltöltés dátuma: 14 Apr 15
Fejlesztő: Volker Birk
Engedély: Ingyenes
Népszerűség: 29

Rating: 1.5/5 (Total Votes: 2)

Python egy szép programozási nyelv. Ez még akkor is hozzáférést biztosít, saját elemző és fordító. Azt is hozzáférést biztosít a különböző más értelmezők speciális célokra, mint például XML és vonós sablonok.
De néha érdemes, hogy a saját elemző. Ez az, amit pyPEG számára.
Ahhoz, hogy egy gyors áttekintést, hogy mi történik, kérjük, olvassa el ezt a cikket, hogyan kell elemezni az önkényes nyelv XML pyPEG a blogomban.
Mi PEG?
PEG jelenti Parsing Expression Gimnázium. Ez valami olyasmi, mint az ötletet Szabályos kifejezések összefüggésben szabad nyelv; Nagyon világos magyarázatot talál a Wikipedia cikket PEG.
A PEG lehet leírni a nyelveken, mint a BNF (és ők is hasonló).
Mi a Elemző-Tolmács?
Közös értelmezők nem használ csapok és top-down elemzés, de LR (n), vagy LL (n) és az alulról felfelé elemzés. Ez azt eredményezi, az elképzelést, végrehajtó elemző generátorok.
Mivel a LR (n), vagy LL (n) értelmezők meg kell kiszámítani ki a DFA első, általában akkor hagyja az elemző generátor ezt az Ön számára. Az eredmény egy elemző megvalósítja saját BNF nyelvtan, ami a bemenet. Nevezhetjük a parser generátor egy fordítót BNF egy elemző végrehajtását.
A Értelmező-Tolmács működik, mint egy tolmács, ahelyett, hogy egy ilyen fordítót. Csak adja meg a nyelvtan a bemenet, és akkor feldolgozza a leírt nyelvi ki a szöveget. Nem lesz program által generált.
A pyPEG
Ez azt jelenti: a pyPEG nagyon egyszerű;-) Ha tudja a reguláris kifejezések már, meg fogod használni pyPEG gyorsan.
Egy kis minta
Egy példa: gondoljunk egy egyszerű nyelvet, mint ez:
funkciót FAK (n) {
& Nbsp; if (n == 0) {// 0! 1 definíció
& Nbsp; return 1;
& Nbsp;} else {
& Nbsp; visszatérése n * fak (n - 1);
& Nbsp;};
}
A pyPEG az adott nyelven néz ki, mint a következő kódot (lásd még a minta script):
def comment (): return [re.compile (r "//.*"), re.compile ("/*.*?*/", re.S)]
def szó (): return re.compile (r'd * .d * | d + | ". *?" ")
def szimbólum (): return re.compile (r "w +")
def üzemeltető (): return re.compile (r "+ | - | * | / | ==")
def működés (): visszatérő szimbólum, üzemeltető, [szó, functioncall]
def kifejezést (): return [szó, üzemeltetése, functioncall]
def expressionlist (): vissza kifejezés, -1, ("," kifejezés)
def returnstatement (): return ("visszatérés"), a véleménynyilvánítás
def ifstatement (): return ("ha"), "(", kifejezés, ")", blokk, kulcsszó ("más"), block
def nyilatkozatot (): return [ifstatement, returnstatement], ";"
def blokk (): return "{", -2, nyilatkozta, "}"
def parameterlist (): return "(", szimbólum, -1, ("," jelképe), ")"
def functioncall (): vissza jelképe, "(", expressionlist, ")"
def function (): return ("funkció"), szimbólum, parameterlist, blokk
def simpleLanguage (): visszatérítéssel

Mi az új ebben a kiadásban:

  • Ez egy razzia kiadás. A kódex parse (), és állítsa össze () rögzítették.

Mi az új 1.4-es:

  • Ez a verzió javít néhány hibát a packrat elemzés.

Mi az új 1.3 verzió:

  • cseréje a leíró nevek pyAST a Symbol (lista ) osztály, ami elég kompatibilis, de támogatja a több leíró kódot fordító backends is.

Mi az új a 1.2-es verzió:

  • Hibák Unicode a hibakezelés rögzítették.

Mi az új 1.1-es verzióban:

  • Unicode támogatást adunk hozzá.

Mi az új verzióban 0,46:

  • pyPEG.print_trace True.
  • konvertálása pyPEG a Python 3.x működik zökkenőmentesen a 2to3
  • A nyelvtani szabályok alkalmazása tetszőlegesen vezethető beállításával
  • pyPEG kiírja, hogy ennek nyoma a stderr.

Mi az új verzióban 0,45:

  • hibajavítás.

Mi az új verzióban 0,44:

  • pyPEG most díszíti minden pyAST objektum forrás file nevet és száma.

követelmények :

  • Python

Hasonló program

Spackager
Spackager

14 Apr 15

Zsh
Zsh

17 Feb 15

nwcc
nwcc

11 May 15

Android SDK
Android SDK

22 Jun 18

Más szoftver fejlesztő Volker Birk

YML
YML

11 May 15

Hozzászólások a pyPEG

Hozzászólás nem található
Megjegyzés hozzáadása
Kapcsolja be a képeket!