Linux and UNIX Man Pages

Linux & Unix Commands - Search Man Pages

lex(1) [ultrix man page]

lex(1)							      General Commands Manual							    lex(1)

Name
       lex - generate lexical analyzer

Syntax
       lex [-tvfn] file...

Description
       The  command  generates	programs  to be used in simple lexical analysis of text.  The input files (standard input default) contain regular
       expressions to be searched for, and actions written in C to be executed when expressions are found.

       A C source program, 'lex.yy.c', is generated.  It is compiled using the following command line:
       cc lex.yy.c -ll
       This program copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that
       is recognized.

Options
       -f   Runs a faster compilation (does not pack resulting tables).  This is limited to small programs.

       -n   Prints no summary information (default option).

       -t   Writes to standard output instead of to file

       -v   Prints one-line summary of generated statistics.

Examples
       In the following example, the command
       lex lexcommands
       draws instructions from the file lexcommands, and places the output in lex.yy.c.  The command
       %%
       [A-Z]	 putchar(yytext[0]+'a'-'A');
       [ ]+$
       [ ]+ putchar(' ');

       is  an example of a program that would be put into a command file.  This program converts upper case to lower, removes blanks at the end of
       lines, and replaces multiple blanks by single blanks.

See Also
       sed(1), yacc(1)
       "LEX - Lexical Analyzer Generator", Supplementary Documents, Volume 2: Programmer

																	    lex(1)

Check Out this Related Man Page

yacc(1) 						      General Commands Manual							   yacc(1)

Name
       yacc - yet another compiler-compiler

Syntax
       yacc [-vd] grammar

Description
       The command converts a context-free grammar into a set of tables for a simple automaton which executes an left recursive parsing algorithm.
       The grammar may be ambiguous; specified precedence rules are used to break ambiguities.

       The output file, must be compiled by the C compiler to produce a program yyparse.  This program must be loaded with  the  lexical  analyzer
       program,  yylex, as well as main and yyerror, an error handling routine.  These routines must be supplied by the user; is useful for creat-
       ing lexical analyzers usable by

Options
       -d Writes all define statements to file.  This allows source files other than to access the token codes.

       -v Writes description of parsing tables and report of grammatical conflicts to file.

Diagnostics
       The number of reduce-reduce and shift-reduce conflicts is reported on the standard output; a more detailed report is  found  in	the  Simi-
       larly, if some rules are not reachable from the start symbol, this is also reported.

Restrictions
       Because file names are fixed, at most one process can be active in a given directory at a time.

Files
       y.output
       y.tab.c
       y.tab.h		   defines for token names
       yacc.tmp, yacc.acts temporary files

See Also
       lex(1)
       "YACC - Yet Another Compiler Compiler" ULTRIX Supplementary Documents Vol. II:Programmer

																	   yacc(1)
Man Page

15 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

regular expresion question

I receive windows files via the internet on my solaris server. Since unix doesn't handle blanks well I change the blanks to ? which works just fine. I take these files and ftp them to windows so our analysts can work with them. Recently I received a file with the following structure: ... (3 Replies)
Discussion started by: gillbates
3 Replies

2. UNIX for Advanced & Expert Users

numbering blanks

hello i'm trying to figure out how to number a blank line. For instance this : sed '/./=' file | sed '/./N; s/\n/ /' gives me 1 aaaa 2 bbbbbb 4 cccccc 5 ffkkkfff 6 ffsdfdfs I would like something like this: 1 aaaaa 2 3 bbbbbb 4 5 cccccc And so... (6 Replies)
Discussion started by: wisher115
6 Replies

3. Programming

regarding lex regular expression

Hi all I am using lex for my application scanning and I need to skip some lines for which I don't know the exact pattern. So, could anybody tell me the regular expression to display lines NOT beginning with the specified pattern. I know how to display lines beginning with the... (1 Reply)
Discussion started by: axes
1 Replies

4. Programming

c programming language

Can someone enligten me on what below program does? I understand getchar and putchar.. but what is this program suppose to do? I try to put printf on it, but it shows nothing.. can someone explain to me what this program is suppose to do? It is reading something and assigning to c? so, if... (8 Replies)
Discussion started by: convenientstore
8 Replies

5. Solaris

lex on solaris??? (urgent, pls!!!)

Hi everyone, I would like to know how to compile and run lex programs on solaris 10. the conventional way is $ lex <name.l> $ cc lex.yy.c -ll $ ./a.out but while trying to execute the 2nd command :i get a reference saying that the command is old or that main is not supported... Hence... (1 Reply)
Discussion started by: wrapster
1 Replies

6. Programming

How to match n number of newline character(\n) in lex and yacc

Hi , I need to develop a parser which should match something like 1. text a=5 " a=20"; 2. text a=..." a=20"; 3 text a=..." a=20 b=34 c=12 "; I have used this regular expression in my Lex file to generate the tokens: \".\s*.*\s.\" (8 Replies)
Discussion started by: vishwa787
8 Replies

7. Shell Programming and Scripting

sed issues

Hi guys, not that used to using sed beyond the simple substitution. I am trying to check for a program (program1) and if it exists replace the standard output "program1" with a "program1(part1 part2) output if said program exists. SW="program1 program2" PROGRAM_TEST='echo "$SW" | grep... (3 Replies)
Discussion started by: mikepegg
3 Replies

8. Shell Programming and Scripting

Error Installing Glimpse on unix

Hi While installing Glimpse on Unix, I am getting the following error. Can someone please help to resolve the same ? flex -F -8 htuml2txt.lex make: flex: Command not found make: *** Error 127 make: Leaving directory `/home/user30/glimpse-4.18.6/dynfilters' make: *** Error 2 Regards... (1 Reply)
Discussion started by: harneet2004us
1 Replies

9. Programming

How to take input from cmd line into file

Hi, I want to be able to write a simple program that takes in input from the command line. I;m am at the level of getchar and putchar. Any examples would be a great help thanks. I intend/prefer also to use the pipe command | eg: input | file1 ---------- Post updated at 04:08 PM ----------... (4 Replies)
Discussion started by: metros
4 Replies

10. Shell Programming and Scripting

Search between two words

Hello, I try to print out with sed or awk the 21.18 between "S3 Temperature" and "GrdC" in a text file. The blanks are all real blanks no tabs. Only the two first chars from temperture are required. So the "21" i need as output. S3 Temperatur 21.18 GrdC No Alarm ... (3 Replies)
Discussion started by: felix123
3 Replies

11. Shell Programming and Scripting

Lex: concatenating word into array of c-strings

Alright, so I'm writing a file for the lexical analyzer (lex). It will be used to check C code (collecting the identifiers and storing those names along with the line numbers the identifier was found on). I'm not used to 'C' so I'm having some difficulty. I am using a function (insertId()) to... (4 Replies)
Discussion started by: D2K
4 Replies

12. Homework & Coursework Questions

Lex: analyzing a C file and printing out identifiers and line numbers they're found on

Florida State University, Tallahassee, FL USA, Dr. Whalley, COP4342 1. The problem statement, all variables and given/known data: Create a lex specification file that reads a C source program that ignores keywords and collects all identifiers (regular variable names) and also displays the line... (3 Replies)
Discussion started by: D2K
3 Replies

13. Shell Programming and Scripting

Extract a pattern from multiple lines in a file

I have a file that has some lines starts with * I want to get these lines, then get the word between "diac" and "lex". ex. file: ;;WORD AlAx *0.942490 diac:Al>ax lex:>ax_1 bw:Al/DET+>ax/NOUN+ gloss:brother pos:noun prc3:0 prc2:0 prc1:0 prc0:Al_det per:na asp:na vox:na mod:na gen:m num:s... (4 Replies)
Discussion started by: Viernes
4 Replies

14. Programming

Psql replace blanks with character

Well as the title describes, its a pretty straight forward problem. I have a series of psql tables where there are lots of blanks. However there is at least one column, called name, that will never be blank. I want to write a select statement to get all of the contents of the table and then turn... (3 Replies)
Discussion started by: wxornot
3 Replies

15. Shell Programming and Scripting

Replace multiple positions in records which match crireria

I have a test file a.txt 001 123 456 789 002 This is just a 001 test data 003 file. I want to clear columns 5 and 6 if the first 3 characters are 001 using awk. I tried following but does not work. Any suggestions? awk 'BEGIN{OFS=FS=""} {if (substr($0,1,3)=="123") $5=" "; $6="... (20 Replies)
Discussion started by: Soham
20 Replies