Lex/YACC: Difference between revisions
mNo edit summary |
|||
Line 1: | Line 1: | ||
Lex and YACC are parser generating tools originally developed for the | Lex and YACC are parser generating tools originally developed for the MULTICS operating system, basically Lex does lexical analysis while YACC handles syntax analysis. The two are always distributed together and compliment each other but are also useful on their own to a degree. | ||
==Lex== | |||
LEX is a tool that looks for logical units (lexemes) in sequences of characters. This is typically the first tasks a compiler does after it has when he is has to do is read the source program and group its characters into lexemes. | LEX is a tool that looks for logical units (lexemes) in sequences of characters. This is typically the first tasks a compiler does after it has when he is has to do is read the source program and group its characters into lexemes. | ||
==YACC== | |||
YACC is a Look-Ahead LR parser generator that takes Backus–Naur Form text files and generates LALR parsers from it. Primarily used as tool for generating front end parsers for compilers or formal validation for file formats in export filters and so on, so forth. | YACC is a Look-Ahead LR parser generator that takes Backus–Naur Form text files and generates LALR parsers from it. Primarily used as tool for generating front end parsers for compilers or formal validation for file formats in export filters and so on, so forth. | ||
Line 33: | Line 33: | ||
* Stephen C. Johnson | * Stephen C. Johnson | ||
[[Category:MS Windows Tools]] | [[Category:MS Windows Tools]][[Category:Generic Unix Tools]] | ||
[[Category:Generic Unix Tools]] | [[Category:Parsing Tools]][[Category:Compiler construction]] | ||
[[Category:Parsing Tools]] | |||
[[Category:Compiler construction]] |
Revision as of 17:31, 5 March 2017
Lex and YACC are parser generating tools originally developed for the MULTICS operating system, basically Lex does lexical analysis while YACC handles syntax analysis. The two are always distributed together and compliment each other but are also useful on their own to a degree.
Lex
LEX is a tool that looks for logical units (lexemes) in sequences of characters. This is typically the first tasks a compiler does after it has when he is has to do is read the source program and group its characters into lexemes.
YACC
YACC is a Look-Ahead LR parser generator that takes Backus–Naur Form text files and generates LALR parsers from it. Primarily used as tool for generating front end parsers for compilers or formal validation for file formats in export filters and so on, so forth.
Lex/YACC compatible tools that run under OS/2
- Abraxas Software PCYACC
- MKS lex & yacc
- flex
- Berkeley Yacc 1.8 - LALR parser generator
- GNU bison 2.7.91
- Thinkage YAY [1]
- Turbo Pascal Lex/YACC - Open source tool that uses L/Y syntax but outputs Turbo Pascal compatible code.
- Exuberant ctags - Creates index files out of YACC source files - Open source - Current
OS/2 text & programmers editors with Lex file and YACC BNF file support
- jEdit - Java based - Lex syntax highlighting built in, YACC available as a seperate download - Current
- NEdit - XFree86 - Autoindent, autocomplete and syntax highlighting for YACC BNF files - Open source - Discontinued
Java Lex/YACC compatible tools
Links & publications
- The A-Z of Programming Languages: YACC An interview with Stephen C. Johnson - From Techworld.
- Lex & YACC homepage at Compilertools.net
Author
- Stephen C. Johnson