Flex++

Flex++

Flex++ is a tool for creating a language parsing program. A parser generator creates a language parsing program. Flex++ is a general instantiation of the flex program.

These programs perform character parsing, and tokenizing via the use of a deterministic finite automata or Deterministic finite state machine (DFA). A DFA (or NDFA) is a theoretical machine accepting regular languages. These machines are a subset of the collection of Turing machines. DFAs are equivalent to read only right moving Turing Machines or NDFAs. The syntax is based on the use of Regular expressions.

Flex provides two different ways to generate scanners. It primarily generates C code to be compiled as opposed to C++ libraries and code. Flex++, an extension of flex, is used for generating C++ code and classes. The Flex++ classes and code require a C++ compiler to create lexical and pattern-matching programs. Flex, the alternative language parser, defaults to generating a parsing scanner in C code. The Flex++ generated C++ scanner includes the header file FlexLexer.h, which defines the interfaces of the two C++ generated classes.

Flex++ is generally available on UNIX based development platforms and is free under the GNU license agreement. It is also available for non-UNIX systems.

Flex Creators

Vern Paxson, with the help of many ideas and much inspiration from Van Jacobson.

See also

*John Levine, Tony Mason, and Doug Brown, "Lex & Yacc", O'Reilly and Associates (2nd edition).
*M. E. Lesk and E. Schmidt, "LEX - Lexical Analyzer Generator"
*Alfred Aho, Ravi Sethi and Jeffrey Ullman, "Compilers: Principles, Techniques and Tools", Addison-Wesley (1986). Describes the pattern-matching techniques used by flex (deterministic finite automata)

*Lex
*Ragel
*Bison (yacc) parser generator

External links

* [http://flex.sourceforge.net/ Flex Home Page]
* [http://flex.sourceforge.net/manual/ Flex Manual]
* [http://www.cs.wwc.edu/~aabyan/464/Book/index.html Compiler Construction using Flex and Bison - course by Anthony Aaby] A Romanian rebuild version of this book in pdf format "fb2-press.pdf" or "fb2-printing.pdf" may be downloaded from [http://cs.wwc.edu/~aabyan/publications.html] or directly from [http://cs.wwc.edu/~aabyan/Linux/fb2-press.pdf] or [http://cs.wwc.edu/~aabyan/Linux/fb2-printing.pdf] .
* [http://www.monmouth.com/~wstreett/lex-yacc/lex-yacc.html Download Win32 binaries of Flex and Bison]
* [http://www.quut.com/c/ANSI-C-grammar-l-1998.html ANSI-C Lex Specification]
* [http://www.jflex.de/ JFlex: Fast Scanner Generator for Java]


Wikimedia Foundation. 2010.

Игры ⚽ Нужна курсовая?

Look at other dictionaries:

  • Flex — steht für: Flex (Betriebssystem), Betriebssystem für Motorolas 6800 und 6809 Prozessoren Flex (Club), Nachtclub in Wien Flex (Sportgerät), Durchbiegung bei Sportgeräten wie Skiern Flex (Zeitschrift), Zeitschrift der American Media zum Thema… …   Deutsch Wikipedia

  • Flex — may refer to: * Flexible electrical cableIn computing*Adobe Flex, technologies for developing rich internet applications *Flex, a family of automatic test equipment produced by Teradyne *Flex lexical analyser, a free software alternative to Lex… …   Wikipedia

  • FLEX — steht für: einen Winkelschleifer eine Open Source Implementierung des Programms Lex ein Entwicklungsframework zum Erstellen von Rich Internet Applications (RIAs), siehe Adobe Flex ein Betriebssystem für Motorolas 6800 und 6809 Prozessoren, siehe… …   Deutsch Wikipedia

  • FLEX — Cette page d’homonymie répertorie les différents sujets et articles partageant un même nom …   Wikipédia en Français

  • flex — {vb Flex, crook, bow, buckle mean to bend, but because of special implications and applications they are not freely interchangeable.}}} Flex is used chiefly of the bending of a bodily joint especially between bones of a limb by which the angle… …   New Dictionary of Synonyms

  • FLEX — однозадачная операционная система разработанная в 1976 году для микропроцессоров Motorola 6800 компанией TSC из Западного Лафайетта (штат Индиана). Изначально была создана версия для 8 дюймовых флоппи дисков и версия для 5,25 дюймовых флоппи… …   Википедия

  • FLEX-ES — ist eine Software der Firma Fundamental Software, Inc., die den Betrieb von S/390 Betriebssystemen auf PC Servern ermöglicht. Mit Hilfe dieses Emulators können die IBM Betriebssysteme z/OS, z/VM und VSE/ESA unmodifiziert auf einem PC Server… …   Deutsch Wikipedia

  • Flex — Flex, v. t. [imp. & p. p. {Flexed}; p. pr. & vb. n. {Flexing}.] [L. flexus, p. p. of flectere to bend, perh. flectere and akin to falx sickle, E. falchion. Cf. {Flinch}.] To bend; as, to flex the arm. [1913 Webster] …   The Collaborative International Dictionary of English

  • Flex — GNU flex «fast lex», GNU вариант программы для построения лексических анализаторов. Adobe Flex технология, расширяющая возможности Flash, продукт компании Adobe …   Википедия

  • flex|or — «FLEHK suhr, sr», noun. any muscle that when contracted bends a joint of the body. ╂[< New Latin flexor < Latin flexus; see etym. under flex (Cf. ↑flex)] …   Useful english dictionary

Share the article and excerpts

Direct link
Do a right-click on the link above
and select “Copy Link”