Flex er kjent som den hurtige leksikalske analysatoren, og det er en åpen kildekode, helt gratis og multi-platform kommandolinjeprogram som er implementert i C / C ++ og designet fra offset som skal brukes til å generere skannere.
Skannerne generert av Flex-verktøyet, som ikke bør forveksles med en ikke-GNU-fri implementering av Lex, er egentlig programmer som kan gjenkjenne leksikale mønstre i tekst, også kjent som programmer som utfører mønstermatching på tekst.
Flex er utformet på en slik måte at den kan generere en C-kildefil kalt "lex.yy.c" som kan definere yylex () -funksjonen. Programvaren er et kommandolinjeverktøy, slik at du kan bruke det via en hvilken som helst terminalemulator.
Kommandolinjealternativer
Programvalgets alternativer er organisert i kategorier som tabellkomprimering, feilsøking, filer, skanneradferd, generert kode og diverse. For å se dem et øyeblikk, kjør & lsquo; flex --help & rsquo; Kommando etter at du har installert programvaren på systemet ditt.
Med kommandolinjealternativene for tabellkomprimering kan vi nevne muligheten til å konstruere ekvivalens- og / eller metakvivalensklasser, å bruke en alternativ tabellrepresentasjon, å bruke standardkomprimering, for å generere en stor og rask skanner også For ikke å komprimere tabeller.
Feilsøkingskommando-alternativer inkluderer støtte for aktivering av feilsøkingsmodus i skanner, støtte for skriveoppsummering av skannerstatistikk til stdout, støtte for å kjøre Flex i spormodus, samt støtte for å skrive sikkerhetskopieringsinformasjon til en bestemt fil og En resultatrapport til stderr.
Skannerens oppførsel kan også tilpasses via kommandolinjevalg, som inkluderer støtte for å generere 7-bits eller 8-bits skannere, støtte for generering av en batchskanner, støtte for generering av en interaktiv skanner, samt støtte for sporing Linje telling i yylineno.
Støtter 32-bit / 64-bit Linux og BSD-plattformer
Programvaren er skrevet helt i C og C ++ programmeringsspråket, og det er kjent at det fungerer bra på både Linux og FreeBSD operativsystemer. I øyeblikket kan den installeres på datamaskiner som støtter en av 64-biters eller 32-biters instruksjonsarkitekturer.
Hva er nytt i denne versjonen:
- build:
- Indentmålet nå vet om flexs nye layout (fra 2.6.0). Innrykksreglene det ville gjelde er ikke riktige og må løses.
- Filene som inngår i flexdistribusjonen, er nå bygget av den versjonen av flex som er inkludert i distribusjonen.
- Konfigureringsskriptet har en bedre ide om hvilke overskrifter som kreves for å bygge fleks. Det vil også bli feil når manglende funksjoner oppdages.
- Vi har senket versjonene av automake og gettext som configure.ac lister som kreves for å bygge flex. I autogen.sh, sjekker vi nå for hvordan du skal ringe libtoolize og bruke det vi finner i resten av scriptet.
- Siden filer i lib / hentes etter behov ved src /, genererer vi ikke lenger en Makefile for den katalogen.
- Flex kan krysses sammen.
- dokumentasjon:
- Noen taster ble fjernet fra håndboken.
- scanner:
- Noen mindre ytelsesforbedringer.
- Vi respekterer brukerdefinerte yy_ * makroer på nytt. Vi er også mer forsiktig med å ikke lekke makrodefinisjoner i headerfiler.
- En rekke bærbarhetsrettelser ble introdusert, slik at bygg flex er mer pålitelig på flere plattformer. I tillegg ble utdaterte funksjonssamtaler fjernet.
- Når du bygger Flex kjørbar, fjernes% # kommentarer fra Flex.skl når du genererer C-kildekoden. Dette reduserer størrelsen på flex.
- testpakke:
- Alle skriptene i testpakken kjøres nå av $ (SHELL) og de nødvendige portabilitetsrettingene er inkludert.
- Test suite avhengigheter håndteres mye bedre. Dette gjelder bare hvis du utvikler flex eller sin testpakke aktivt.
- Tester som er avhengige av plattformavhengige funksjoner, hopper nå riktig når disse plattformene ikke er til stede.
- Når du kjører "kontroller", kan du nå passere V = 0 for å stille mer av bygningen. Dette er nyttig når du er mindre kjent med
Kommentarer ikke funnet