Flex är allmänt känd som den snabba lexiska analysatorn och det är en öppen källkod, helt gratis och multi-plattforms kommandoradsapplikation som implementeras i C / C ++ och utformad från offset som ska användas för att generera skannrar.
Skannrarna som genereras av Flex-verktyget, som inte skulle förväxlas med en icke-GNU-fri implementering av Lex, är faktiskt program som kan känna igen lexiska mönster i text, även kända som applikationer som utför mönstermatchning på text.
Flex har utformats så att det kan generera en C-källfil som heter "lex.yy.c", som kan definiera yylex () -funktionen. Programvaran är ett kommandoradsverktyg, så du kan använda det via någon terminalemulator.
Kommandoradsalternativ
Alternativen för programmets kommandoradsinställningar är organiserade i kategorier som tabellkomprimering, felsökning, filer, skannerbeteende, genererad kod och diverse. För att se dem en överblick, springa & lsquo; flex --help & rsquo; Kommando efter installationen av programvaran på ditt system.
Med kommandoraden för tabellkomprimering kan vi nämna möjligheten att konstruera ekvivalens- och / eller metakvivalensklasser, använda en alternativ tabellrepresentation, använda standardkomprimering, för att generera en stor och snabb skanner också Att inte komprimera tabeller.
Kommandoradsalternativ för debugging inkluderar stöd för att aktivera felsökningsläge i skanner, stöd för sammanfattande skrivarstatistik till stdout, stöd för att köra Flex i spårläge samt stöd för att skriva säkerhetskopieringsinformation till en specifik fil och En prestationsrapport till stderr.
Skannerbeteendet kan också anpassas via kommandoradsalternativ, som inkluderar stöd för att generera 7-bitars eller 8-bitars skannrar, stöd för att generera en batchskanner, stöd för att generera en interaktiv scanner, samt stöd för spårning Linjeräkning i yylineno.
Stödjer 32-bitars / 64-bitars Linux- och BSD-plattformar
Programvaran har skrivits helt i C och C ++-programmeringsspråket och det är känt att det fungerar bra på både Linux- och FreeBSD-operativsystem. För närvarande kan den installeras på datorer som stöder en av 64-bitars eller 32-bitars instruktionsuppsättningar.
Vad är nytt i den här utgåvan:
- bygga:
- Inriktningsmålet vet nu om flexs nya layout (från 2.6.0). Indragsreglerna som det skulle gälla är inte korrekta och måste lösas.
- Filerna som ingår i flexdistributionen är nu byggda av den version av flex som ingår i distributionen.
- Konfigurationsskriptet har en bättre uppfattning om vilka rubriker som krävs för att bygga flex. Det kommer också att bli fel när saknade funktioner upptäcks.
- Vi har sänkt versionerna av automake och gettext som configure.ac listor som krävs för att bygga flex. I autogen.sh kontrollerar vi nu hur man ringer libtoolize och använder det vi hittar i resten av manuset.
- Eftersom filer i lib / plockas upp efter behov av src /, genererar vi inte längre en Makefile för den katalogen.
- Flex kan korsas samman.
- dokumentationen:
- Vissa skrivfiler togs bort från handboken.
- scanner:
- Några mindre prestandaförbättringar.
- Vi hedrar användardefinierade yy_ * -makroner igen. Vi är också försiktigare att inte läcka makrodefinitioner i huvudfiler.
- Ett antal bärbarhetsfixar infördes, så bygg flex är mer tillförlitlig på fler plattformar. Dessutom avlägsnades föråldrade funktionssamtal.
- När du bygger flexexekverbar själv tas% # kommentarer från flex.skl bort när du genererar C-källkodserien. Detta minskar storleken på flex.
- testpaket:
- Alla skript i testpaketet körs nu av $ (SHELL) och de nödvändiga portabilitetsfixarna har inkluderats.
- Testtillbehör beror mycket bättre på. Detta gäller bara om du aktivt utvecklar flex eller dess testpaket.
- Tester som beror på plattformberoende funktioner hoppar nu korrekt över när dessa plattformar inte är närvarande.
- När du kör "gör kontroll", kan du nu passera V = 0 för att tysta mer av byggnaden. Det här är användbart när du är mindre känd om
Kommentarer hittades inte