Авторизация
Поиск по указателям
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
Предметный указатель
Position of erroneous tokens 247
POSIX lex 177
POSIX lex, character codes 170
POSIX lex, differences 296
POSIX lex, input 158
POSIX lex, multiple lexers 156
POSIX lex, options 295
POSIX lex, square brackets in 28
POSIX lex, standard 295
POSIX lex, yytext in 296
POSIX lex, yywrap( ) in 179 296
POSIXyacc, differences 296
POSIXyacc, generated header file 203
POSIXyacc, generated prefix names in 207
POSIXyacc, library 296
POSIXyacc, options 295—296
POSIXyacc, standard 295
Post-processing in MGL 95
PostScript 294
Precedence 61 269 336
Precedence for avoiding conflicts 63 196
Precedence in expression grammars 196
Precedence in yacc rules 195 199
Precedence, assigning 62
Precedence, conflicting 276
Precedence, declaring 62
Precedence, interchanging 187
Precedence, levels 61 195
Precedence, redeclaring 276
Precedence, specifying 61—62
Precedence, table of 62
Prefix for generated files 273 295
Prefix for generated symbols 292 296
Primary key in SQL 110
Privilege definitions in SQL 125
Processing menu descriptions in MGL 97
Production rules see “Yacc rules”
productions see “Yacc rules”
Program names, in MGL 84
Programs 336
PROLOG 294
Prototyping xvii
Punctuation in SQL 118
Pushing input back 41 153 173—174
QSTRING in MGL 85 98
Qstring rule in MGL lexer 85
Queries in SQL 111
Question mark (?), in regular expressions 29 168
Quirks in yacc 187
Quotation marks in regular expressions 29 169
Quotation marks in yacc 200
Quotation marks, matching 85
Quotation marks, missing in flex 284
Quotation marks, missing in yacc 267—268 274
Quoted characters in yacc 192
Quoted strings 31
Quoted strings in MGL 84
Quoted strings, parsing 85
Quoted strings, unterminated 244
quotes see “Quotation marks or single quotes”
Ranges of characters 28 167
Ratfor 255 259 269
Reading files, errors 256
Real numbers 30
Recognizing words 3
Recovery see “Error recovery”
Recursion 21 53
Recursion in MGL grammar 88—89
Recursion in SQL scalar function grammar 133
Recursion in yacc 197
Recursion, conflicts and 229
Recursion, errors in 268
recursion, infinite 187
Recursion, right 222
Recursive parsers 209 292
Redeclaring, start conditions 285
Redeclaring, token precedence 269
Redeclaring, token types 271
Redefining, ECHO 165
Redefining, input( ) 148
Redefining, output() 148 165
Redefining, unput() 148 173
Reduce/reduce conflicts 185 219—220 336
Reduce/reduce conflicts in Berkeley yacc 277
Reduce/reduce conflicts in y.output 223 228
Reduce/reduce conflicts with overlapping alternatives 238—240
Reduce/reduce conflicts, identifying 223
Reduce/reduce conflicts, lookahead and 237
Reduce/reduce conflicts, non-terminals in 224
Reductions 53 219 336
Redundant grammars 233
Reentrant parsers 209 280 292
Regular expressions 1 27 28 336
Regular expressions, all except ranges of characters 28 167
Regular expressions, any character 28 167
Regular expressions, beginning of line 28 169
Regular expressions, C comments 45—46
Regular expressions, C escape sequences in 28
Regular expressions, comments starting with # 31
Regular expressions, decimal numbers 30
Regular expressions, defined see “Substitutions”
Regular expressions, digits 30
Regular expressions, either of two 29 169
Regular expressions, end of C comments 47
Regular expressions, end of line 28 169
Regular expressions, groups 29 169 260
Regular expressions, integers 30
Regular expressions, literal text 29 169
Regular expressions, logical or in 29 169
Regular expressions, maximum number of repetitions 168
regular expressions, metacharacters in 28—29 167—169
Regular expressions, minimum number of repetitions 168
Regular expressions, multiple copies 28
Regular expressions, multiple occurrences 29 168
Regular expressions, named see “Substitutions”
Regular expressions, number of occurrences 28 168
Regular expressions, numbers 28 30
Regular expressions, quotation marks in 29 169
Regular expressions, quoted strings 31
Regular expressions, ranges of characters 28 167
Regular expressions, real numbers 30
Regular expressions, repetitions 28 168
Regular expressions, single characters 28 167
regular expressions, special characters in 28—29 33 167—169 260
Regular expressions, start states in 169
Regular expressions, syntax 167
Regular expressions, whitespace in 45 167
Regular expressions, zero or more copies 28 168
Regular expressions, zero or one occurrence 29 168
Reject 160 170
REJECT, illegal 285
Relational data bases 109
Renaming, generated lexers 163
Renaming, lex functions and variables 162
Renaming, yacc generated names 207
Repeat counts, illegal 284
Repetitions 28 168
Reporting lexer data 283
Reserved symbols in yacc 275
Reserved words in SQL 117 120
Reserved words in symbol tables 72
resolving conflicts 233—240
Restarting lexers 171
Resynchronizing 248
Return statement 7 171
Returning values from yylex() 171
Reused names 246
rhs 52 335 337
Right associative operators 195
right associativity 62
Right contexts in lex 149 152
Right contexts, too many 260
Right recursion, in yacc 197
Right-hand side 52 198 337
Right-hand side, empty 88
Right-hand side, referring to 58 183
Right-recursive grammars 88
Root rule 201
Rows, in SQL 110 130
Rules 337
Rules section, bugs in lex 150
Rules section, empty in Berlekey yacc 275
Rules section, lex 5 33 148
Rules section, yacc 56 182
Rules with lex start states 42
Rules without actions in AT&T yacc 266
Rules without explicit lex start states 44
Rules, ; in yacc 198
Rules, <> in lex 172
Rules, assignments in yacc 56 200
Rules, disambiguating lex 6
Rules, ending yacc 56 198 200
Rules, error in first in AT&T yacc 265
Rules, left-hand side in yacc 52 57 198 335
Rules, lex 5
Rules, logical or in yacc 52 199—200
Rules, missing return value in AT&T yacc 268
Rules, never reduced in AT&T yacc 264 269
Rules, never reduced in Berkeley yacc 277
Rules, recursive yacc 53 197
Rules, reducing yacc 53 219
Rules, requiring backtracking in flex 282
Rules, right-hand side in yacc 52 198 337
Rules, section in yacc 182
Rules, start see “Start states”
Rules, start symbol missing in Berkeley yacc 276
Rules, suppressing default in flex 283
Rules, tokens on left-hand side in AT&T yacc 270
Rules, tokens on left-hand side in Berkeley yacc 275
Rules, too many in AT&T yacc 268
Rules, unused in Berkeley yacc 277
Rules, using same lex action 5
Rules, yacc 18 52 198
Rules, | in lex 5
Rules, | in yacc 52 199—200
Rules, «EOF» in flex 285
Running, lex 21
Running, lexers 27
Running, parsers 59
Running, yacc 21
Runtime debugging code 263
Scalar expressions in SQL 132
Scanners see “Lexers”
Schema sublanguage in SQL 120
Scientific notation 30
Screens in MG, multiple 89
Screens in MG, names 90 97
Screens in MG, rules 89 97
Screens in MG, terminating 100
Search conditions in SQL 136—137
Section delimiters, lex 5 33
Section delimiters, yacc 18 181 199
Sections of lex specifications 32 147
Sections of yacc grammars 56 181
sed 163 207
SELECT statement in SQL 111 133—134
Selection preferences 292
Semantic, meaning 339
Semantic, parsers 280
Semantic, values 338
Semicolon (;), in yacc rules 56 198 200
Sentences 51
Separate files for code and tables 273
Sharp sign (#), delimited comments 31
Shift/reduce conflicts 60 63 185 220 337
Shift/reduce conflicts in Berkeley yacc 277
Shift/reduce conflicts in expression grammars 229 236
Shift/reduce conflicts in IF-THEN-ELSE grammars 231 233
Shift/reduce conflicts in nested list grammars 232
Shift/reduce conflicts in y.output 225 228
Shift/reduce conflicts, avoiding 196
Shift/reduce conflicts, embedded actions and 183
Shift/reduce conflicts, identifying 225
Shift/reduce conflicts, lookahead and 237
Shift/reduce parsing 53
Shifting 337
Shifts 53
Single characters as tokens 192
Single characters, matching 28 167
Single quotes (’’), in yacc 192 200
single-step debugging 292
Size of lex internal tables 159
Skeleton files 102
Slash (/), in regular expressions 29 149 153 169 260
Smalltalk 294
Sort orders 170
special characters in regular expressions 167
Special characters in yacc 199
Special purpose languages 81
Specifications 1 27 337
Specifications, porting 166
Specifications, structure of 147
Specifications, yacc see “Grammars”
SQL 109 112
SQL, AMMSC token 132
SQL, ANSI standards 109
SQL, ANY and ALL predicates 139
SQL, arithmetic operations 132
SQL, base tables 122—123
SQL, BETWEEN predicate 137
SQL, columns 110 123
SQL, comments in 114
SQL, COMPARISON predicate 137
SQL, cursor definitions 126—127
SQL, data bases 110
SQL, data types 123
SQL, DELETE statement 131
SQL, embedded 113 139 141
SQL, embedded preprocessor see “Embedded SQL preprocessor”
SQL, error checking in lexer 118
SQL, EXEC SQL 113 143
SQL, FETCH statement 129
SQL, grammar 118
SQL, GRANT option 126
SQL, IN predicate 139
SQL, INSERT statement 130
SQL, lexer 114
SQL, lexer for embedded 141
SQL, lexer source code 328—331
SQL, LIKE predicate 137
SQL, main( ) in lexer 118
SQL, Makefile for syntax checker 140
SQL, manipulation sublanguage 128—129
SQL, MKS parser for 292
SQL, module language 112 126
SQL, multiple input tokens 119
SQL, names in 118
SQL, NULL reserved word 124 138
SQL, numbers in 118—119
SQL, operators in 119
SQL, parser 118
SQL, parser cross-reference 322—327
SQL, parser source code 311—321
SQL, pcyacc scanner and parser 294
SQL, preprocessor 113 141
SQL, primary key 110
SQL, privilege definitions 125—126
SQL, punctuation in 118
SQL, queries 111
SQL, recursive scalar function grammar 133
Реклама