Visit Our UNIX and Linux User Community

Linux and UNIX Man Pages

Test Your Knowledge in Computers #188
Difficulty: Easy
Python is an interpreted, high-level, general-purpose programming language, created by Linus Torvalds and first released in 1991
True or False?
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

LEX(1)							      General Commands Manual							    LEX(1)

NAME
lex - generator of lexical analysis programs SYNOPSIS
lex [ -tvfn ] [ file ] ... DESCRIPTION
Lex generates programs to be used in simple lexical analyis 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, to be compiled thus: cc lex.yy.c -ll This program, when run, copies unrecognized portions of the input to the output, and executes the associated C action for each regular expression that is recognized. The following lex program converts upper case to lower, removes blanks at the end of lines, and replaces multiple blanks by single blanks. %% [A-Z] putchar(yytext[0]+'a'-'A'); [ ]+$ [ ]+ putchar(' '); The options have the following meanings. -t Place the result on the standard output instead of in file `lex.yy.c'. -v Print a one-line summary of statistics of the generated analyzer. -n Opposite of -v; -n is default. -f `Faster' compilation: don't bother to pack the resulting tables; limited to small programs. SEE ALSO
yacc(1) M. E. Lesk and E. Schmidt, LEX - Lexical Analyzer Generator LEX(1)

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

Featured Tech Videos