Авторизация
Поиск по указателям
Levine J.R., Manson T., Brown D. — Lex & Yacc
Обсудите книгу на научном форуме
Нашли опечатку? Выделите ее мышкой и нажмите Ctrl+Enter
Название: Lex & Yacc
Авторы: Levine J.R., Manson T., Brown D.
Аннотация: This book shows programmers how to use two UNIX utilities, lex and yacc, in program development. lex and yacc are tools that help programmers build compilers and interpreters, but they also have a wider range of applications.
The second edition contains completely revised tutorial sections for novice users and reference sections for advanced users. This edition is twice the size of the first and has an expanded index.
The following material has been added:
* Each utility is explained in a chapter that covers basic usage and simple, stand-alone applications
* How to implement a full SQL grammar, with full sample code
* Major MS-DOS and UNIX versions of lex and yacc are explored in-depth, including AT&T lex and yacc, Berkeley yacc, Berkeley/GNU Flex, GNU Bison, MKS lex and yacc, and Abraxas PCYACC
Язык:
Рубрика: Руководства по программному обеспечению /
Статус предметного указателя: Готов указатель с номерами страниц
ed2k: ed2k stats
Издание: 2nd edition
Год издания: 1992
Количество страниц: 366
Добавлена в каталог: 10.12.2005
Операции: Положить на полку |
Скопировать ссылку для форума | Скопировать ID
Предметный указатель
Lookahead, discarding tokens 213
Lookahead, errors in yacc 270
Lookahead, lex 38 41 153
Lookahead, yacc 55
macros see “Substitutions”
main() 7 18
Main() in MGL lexer 95—96
Main() in MGL parser 102
Main() in SQL lexer 118
Main(), lex library 160
Main(), yacc library 211
make program 77
Makefiles 77
Makefiles for SQL syntax checker 140
Making parsers 77
Manipulating tables in SQL 111
Manipulation sublanguage in SQL 128
Matching, all except character classes 28 167
Matching, all except ranges of characters 28 167
Matching, alphabetic string 6
Matching, any character 28 167
Matching, beginning of C comments 46
Matching, beginning of line 28 169
Matching, C comments 45
Matching, C escape sequences 28 168
Matching, character classes 28 167
Matching, comments starting with # 31
Matching, decimal numbers 30
Matching, digits 30
Matching, either of two regular expressions 29 169
Matching, end of C comments 47
Matching, end of file in flex 169
Matching, end of line 28 169
Matching, escape sequences 28
Matching, groups of expressions 29 169 260
Matching, integers 30
matching, literal text 29 169
Matching, metacharacters 28—29 168—169
Matching, multiple occurrences 28—29 168
Matching, named patterns 28
Matching, number of occurrences 28 168
Matching, numbers 30
Matching, only in start states 169
Matching, optional 29 168
Matching, quotation marks 85
Matching, quoted strings 31
Matching, ranges of characters 28 167
Matching, real numbers 30
Matching, repetitions 28 168
matching, single characters 28 167
Matching, substitutions 168
Matching, whitespace 45
Matching, zero or more occurrences 28—29 168
Math library 77
Maximum numbers of repetitions 168
Maximum numbers of symbolic tokens 193
Menu descriptions, processing 97
Menu generation language see “MGL”
Menu-driven interfaces 83
Menus see “MGL”
metacharacters 28 167
Metacharacters, matching 28—29 168—169
Metalanguage 28
MGL 81—108
MGL, ACTION 82 84 99
MGL, ATTRIBUTE 82 91 100
MGL, building compiler 92
MGL, COMMAND 82—83 86 99
MGL, design 83
MGL, END 90
MGL, end-of-file processing 102
MGL, end-of-screen processing 101
MGL, enhancements 106 297
MGL, EXECUTE 84
MGL, filenames for 95
MGL, grammar 84—87 89 91
MGL, hiding menu items 91
MGL, ID token 87 97
MGL, IGNORE 84
MGL, initialization code 95
MGL, INVISIBLE 91
MGL, invoking with filenames 95
MGL, ITEM 82 85 99
MGL, items rule 88
MGL, lex source 301—302
MGL, lexer 83—84 92
MGL, main( ) in lexer 95—96
MGL, main() in parser 102
MGL, menu description 82
MGL, menu items 82 85
MGL, multiple screens 89
MGL, multiple title lines 89
MGL, multiple-level menus 89
MGL, multiple-line items 88
MGL, NAME 82
MGL, naming screens 90
MGL, parser 84—87 89 91
MGL, post-processing 95
MGL, processing menu descriptions 97
MGL, program names 84
MGL, QSTRING 85 98
MGL, qstring lexer rule 85
MGL, quoted strings 84
MGL, recursion 88—89
MGL, sample input 103
MGL, sample output 103
MGL, SCREEN 90 97
MGL, screen names 97
MGL, screen rules 89 97
MGL, start rule 89
MGL, supporting C code 302—310
MGL, terminating screens 100
MGL, TITLE 82 88 98
MGL, using 102
MGL, VISIBLE 91
MGL, yacc source 297—301
Mgl-code 307—310
Mgllex.l 301—302
Mglyac.c 297—301
Minimum number of repetitions 168
Missing, angle brackets 271
Missing, curly braces 284
Missing, patterns 257
Missing, quotation marks 267—268 274 284
Missing, types 275—276
MKS lex, character codes 151
MKS lex, current lexer state 155
MKS lex, differences from AT&T 291
MKS lex, input 151 157
MKS lex, internal tables 159
MKS lex, library 292
MKS lex, new features 292
MKS lex, options 292
MKS lex, restarting 171
MKS lex, source 291
MKS lex, translation tables 167
MKS lex, yyRestoreScanO 155
MKS lex, yySaveScan() 155
MKS lex, yytext 178
MKS yacc, differences from AT&T 291
MKS yacc, generated header file 203
MKS yacc, generated prefix names 207
MKS yacc, new features 292
MKS yacc, options 292
MKS yacc, source 291
MKS yacc, y.output 227
Modula-2 292 294
Module language for SQL 112 126
Mortice Kern Systems 291
MS-DOS 15 22 28 164 179 203 210 291 293
Multiple, character literal tokens 193
Multiple, grammars in one program 205 207
Multiple, input files, lex 154
Multiple, input tokens in SQL 119
Multiple, lexers in one lex specification 161
Multiple, occurrences, matching 29 168
Multiple, patterns in lex 148
Multiple, screens in menus 89
Multiple, title lines in menus 89
Multiple, types of values 65
Multiple, «EOF» rules 285
Multiple-level menus 89
Multiple-line lex actions 148
Multiple-line menu items 88
NAME in MGL 82
named patterns see “Substitutions”
Names for regular expressions see “Substitutions”
Names for screens in MGL 90
Names for substitutions 259
Names in SQL 118
Names, duplicate 246
Names, reused 246
Nested list grammars 232—233 235—236
Nesting input files 155
No associativity 62
No match in lex 148
Non-associative operators 195
Non-English alphabets 28
Non-portable character classes 258
Non-terminal symbols 52 182 335
Non-terminal symbols in reduce/reduce conflicts 224
Non-terminal symbols, declaring types 66
Non-terminal symbols, redeclaring types 271
Non-terminal symbols, types 204
Non-terminal symbols, undefined 269 277
NULL as token name 124 138
Null characters, in AT&T yacc 264
Numbers in regular expressions 28
Numbers in SQL 118—119
Numbers of occurrences 28 168
Numbers with exponents 30
Numbers with unary minus 30
Occurrences, matching 28 168
Octal character codes 169
Octal character codes, null characters in 264
Omitting #line 263 283 296
Opening files, errors 265
Operators in SQL 119
Operators, associative 195
Operators, declarations 195
Optional, matching 29 168
Options, Abraxas 293
Options, AT&T lex 255—256
Options, AT&T yacc 263
Options, Berkeley yacc 273
Options, bison 280
Options, flex 282—283
Options, illegal in yacc 267
Options, MKS lex and yacc 292
Options, pcyacc 293
Options, POSIX lex 295
Options, POSIX yacc 295—296
Or in lex 148
Or in regular expressions 29 169
Or in yacc rules 52 199—200
order of precedence 195
OS/2 291 293
Out of disk space 265
Out of memory 258 260
Out of range, character value 257
Out of space, yacc 269
Output files, yacc 265
Output language for lexer 255
Output() 165
Output(), redefining 148 154 165
output, redirecting 95
Overflowing, lex buffers 85
Overflowing, lex internal tables 159
Overlapping alternatives 238—240
Overlapping tokens 170
P1003.2 standard 295
Parentheses (), in regular expressions 29 169
Parse trees 52—53
Parse trees, multiple 55
Parse trees, option 293
Parse trees, passing values 189
Parse trees, space for 259
parsers 2
Parsers for calculator 58 62 64
Parsers for MGL 84—87 89 91
Parsers for SQL 118—120
Parsers, C source code for 59
Parsers, communication with lexer 14
Parsers, compiling 59
Parsers, debugging 213
Parsers, making 77
Parsers, portability of 194
Parsers, recursive 292
Parsers, reentrant 209 280 292
Parsers, running 59
Parsers, semantic 280
Parsers, SQL definition section 119
Parsers, stack 336
Parsers, states 221
Parsers, synchronizing 214
Parsers, trace code in 214
Parsers, yacc routine name 18
Parsing 1 336
Parsing, arithmetic expressions 60
Parsing, command lines 38
parsing, functions 71
Parsing, lists 197
Parsing, multiple files 35
Parsing, quoted strings 85
Parsing, recursive 209
Parsing, shift/reduce 53
Parsing, using symbol tables 72
Pascal 292 294
Patterns 5 27—28 148 167 336
Patterns in flex 281
Patterns, beginning of line patterns 152
Patterns, end of line patterns 153
Patterns, explicitly trailing context in 153
patterns, matching 6 149
Patterns, substitutions in 153
Patterns, unterminated 284 (see also “Regular expressions”)
Patterns, {} in 153
pclex see “Pcyacc”
PCYACC 171 178—179
pcyacc, differences from AT&T 293
pcyacc, extended error recovery 293
pcyacc, new features 293
pcyacc, output filenames 293
Percent sign (%) in yacc token declarations 56
Percent sign (%), %% section delimiter 33 199
Performance, reporting in flex 283
period (.) in regular expressions 28 167
Period (.) in y.output 224
Period (.) in yacc 200
PIC 292 294
Placement of error tokens 251
Plus (+), in regular expressions 29 168
Pointer models 217—228
Pointers, yacc 217
Portability of grammars 193
Portability of lex specifications 166
Portability of lexers 166
Portability of parsers 194
Portability, lex 166
Portability, yacc 193
Реклама