University of Ottawa |
Lab-5 Part 2 : Lex |
Originally prepared by Nicolas Gorse |
Description
Lex (or Flex) is a tool for generating lexical analyzers (scanners): programs that recognize lexical patterns in text. Flex reads the given input files, or its standard input if no file names are given, for a description of a scanner to be generated. The description is in the form of pairs of regular expressions and C code, called rules. Flex generates as output a C source file, lex.yy.c, which defines a routine yylex(). This file is compiled and linked with the -lfl library to produce an executable. When the executable is run, it analyzes its input for occurrences of the regular expressions. Whenever it finds one, it executes the corresponding C code.
Documentation
SENTENCE --> NOUN_PHRASE VERB NOUN_PHRASE VERB --> hit NOUN_PHRASE --> ARTICLE NOUN NOUN_PHRASE --> PROPER_NAME ARTICLE --> a | the NOUN --> ball | bat PROPER_NAME --> peter