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

JRuby
JRuby

17 Feb 15

Adobe Alchemy
Adobe Alchemy

3 Jun 15

STklos
STklos

15 Apr 15

SmartEiffel
SmartEiffel

3 Jun 15

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!