Programcsomag szöveges manipulációhoz

A programcsomag a következő eljárásokkal használható

programcsomag

Delphi vagy Free Pascal programban a Mysnobol könyvtár (egység) segítségével

Ehhez a következő fájlokat használják: mysnobol.pas mystring.pas myintarray.pas

A könyvtárakat Delphi6, Delphi10 és Lazarus vagy Freepascal segítségével teszteltük.

Ha nem áll rendelkezésre Pascal-fordító, használhatja a Pscript Pascal-tolmácsot.

A minták a SnobolIDE alkalmazással is használhatók. Itt adhat meg egy keresési mintát, amelyet aztán felvált a helyettesítő minta.

Minden szükséges fájl és a dokumentáció a snobol.zip fájlban található

Ezt a fájlt célszerű kicsomagolni egy könyvtárba, amelyhez írási hozzáférés is lehetséges, pl. \ Appdata \ snobol

Leírják a szövegfelismerés és -feldolgozás módszereit az SNOBOL programozási nyelv alapján a mintaillesztés osztályainak segítségével. Az osztályok az SNOBOL modellhez képest részben megváltoznak a nagyobb hatékonyság elérése érdekében.

SNOBOL 4 (S.triG Oorientált symbolic L.fájdalomszám 4) a programozási nyelvek negyedik és egyben utolsó változata a karakterláncok manipulálása céljából. Ezeket a nyelveket 1962 és 1967 között fejlesztették ki az AT & T Bell Laboratories-ban David J. Farber, Ralph E. Griswold és Ivan P. Polonsky.

Lényeges megkülönböztető jellemző az akkoriban használt programozási nyelvektől, hogy a minták léteznek "első osztályú" adattípusként, azaz. H. olyan adattípus, amelynek értéke bármilyen módon manipulálható, mint más programozási nyelvekben, valamint az operátorok a minták láncolásához és manipulálásához. A futás közben létrehozott karakterláncok programként kezelhetők és futtathatók. A SNOBOL 4 mintája nagyon egyszerű, de nagyon összetett is lehet. Egyszerű minta pl. B. csak egy olyan karakterlánc, mint az "ABCD". Egy összetett minta viszont lehet egy nagy szerkezet, amely pl. B. leírhatja a számítógépes nyelv teljes nyelvtanát. (Wikipédia)

Az 1970-es és 1980-as években az SNOBOL 4-et széles körben használták a szöveg manipulálásának nyelveként. Az utóbbi években azonban népszerűsége csökkent, mivel az olyan újabb és hatékonyabb nyelvek, mint az Awk és a Perl, egyre népszerűbbek a húrok szabályos kifejezésekkel történő manipulálásában. A Perl-ben szereplő Regex-szel ellentétben azonban az SNOBOL lehetővé teszi olyan zárójeles struktúrák felismerését is, amelyek nem írhatók le reguláris kifejezésekkel.

(1) Mintaillesztés

A szövegminták illesztésével a tesztminták (minták) meghatározásával foglalkozunk, amelyek kombinációval képesek leírni a szabadon előforduló tesztstruktúrákat. A mintákat és azok kombinációit alkalmas algoritmusokkal kell felismerni. Az ilyen minták sok programozási és szkriptnyelv részét képezik. A JAVA nyelv például ismeri az osztályt tokenizer, ahol a szöveget elválasztók segítségével részekre lehet bontani. Rendszeres kifejezéseivel (regex: Perl reguláris kifejezés) a PERL szkriptnyelv is nagyon hatékony segítséget nyújt a minták leírására és felismerésére. Az első nyelv, amely kifejezetten az ilyen típusú szövegszerkesztésre irányult, a SNOBOL volt. Az alábbiakban ismertetett megközelítés lényegében az SNOBOL-ban definiált mintákat használja. Ugyanakkor nem határoz meg új programozási vagy szkriptnyelvet, hanem a megvalósítás egy létező nyelven írt osztályok és függvények (PASCAL-DELPHI) segítségével történik. Ez lehetővé teszi a módszertan alkalmazását bármely, ezekre a nyelvekre írt programban. Megvalósítás például Java vagy C ++ nyelven is lehetséges.

A minták a következőket tartalmazhatják:

Adott hosszúságú húrok

minden karakterlánc egy speciális karakterig

a leghosszabb üres szakasz

egy string bármilyen ismétlése

A megadott zárójel szimbólumokkal kiegyensúlyozott húrok