Авторизация
Поиск по указателям
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
Предметный указатель
SQL, reserved words 117 120
SQL, rows 110 130
SQL, rules 120
SQL, rules for grammar 322—327
SQL, scalar expressions in 132
SQL, schema sublanguage 120
SQL, schema view definitions 124
SQL, search conditions 136—137
SQL, SELECT statement 111 133—134
SQL, start states 142
SQL, strings in 118—119
SQL, sub-token codes 119
SQL, subqueries 137
SQL, supporting C source code 331—333
SQL, symbols 322—327
SQL, syntax 110
SQL, syntax checker 114 140
SQL, table expressions 134—135
SQL, table manipulation 111
SQL, tables 110
SQL, tokens 119 322—327
SQL, UPDATE statement 131—132
SQL, validating 114
SQL, view definitions 124—125
SQL, views 124
SQL, virtual tables 124
SQL, whitespace in 114
SQL, yyerror( ) for 118
Square brackets ([ ]) in POSIX 170
Square brackets ([ ]) in regular expressions 28 167
Stack, AT&T lex internal 260
Stack, overflow in yacc 261
Stack, yacc internal 53
Standard, I/O 95
Standard, input 35
Standard, lex and yacc 295
Standard, output for source code 295
Standard, output from AT&T lex 255
Standard, SQL 109
Start conditions, illegal 259 261 284
Start conditions, redeclared 285 (see also “Start states”)
Start rules 337
Start rules for multiple grammars 206
Start rules in MGL grammar 89 (see also “Start states”)
Start states 42 152 171—172 337
Start states for embedded SQL preprocessor 142
Start states for multiple lexers 161
Start states in regular expressions 169
Start states when matching 169
Start states, changing 149
Start states, creating 43 172
Start states, default 149
Start states, exclusive 45 172
Start states, explicit 42
Start states, rules with explicit 44
Start states, undeclared 261 285
Start states, wild card 45
Start symbols 53 337
Start symbols, declaring 57
Start symbols, default 57
Start symbols, illegal 264 275
Start symbols, redeclaring 276
Start symbols, rule missing 276
State zero 43 172
Statements, lex return 7
Statements, yacc 52
States, bad 256
States, changing 43
States, default 43
States, INITIAL 172
States, lex start 42
States, numbers 222
States, overly complex 260
States, parser 221
States, start see “Start states”
States, summary from AT&T lex 255
States, too many 26l
States, yacc 53
States, zero 43 172
Static tables for keywords 93
Statistics from POSIX lex 295
Statistics, AT&T lex 255
Statistics, lex 159
stdin 35
stdio 159 295
Strings in SQL 118—119
Strings, empty 334
Strings, input to lex 156
Strings, too long 259
Strings, unterminated in yacc 266 274
Strings, wrong type 244
Structure of grammars 56 181
Structure of lex specifications 147
Structured input 1
Structured Query Language see “SQL”
Sub-token codes 119
Substitutions 33 153
Substitutions in patterns 153
Substitutions, illegal 258 283—284
Substitutions, matching 28 168
Substitutions, named with digits 259
Substitutions, not found 257
Substitutions, undefined 284
Success value 212
Summaries, suppressing lines 255
Summaries, suppressing statistics 295
Support routines, lex 34 148
Support routines, yacc 182
Suppressing, default rules 283
Suppressing, summary lines 255
Suppressing, summary statistics 295
Symbol tables 9—13 9 67 338
Symbol tables, adding entries 13 68
Symbol tables, adding reserved words 72
Symbol tables, declarations 9 11
Symbol tables, lookups 13 68
Symbol tables, maintenance routines 10
Symbol tables, pointers 67
Symbol tables, reserved words in 72
Symbol tables, searching 68
Symbol tables, space allocation for 71
Symbol types 201 204
Symbol types for embedded actions 184
Symbol types for inherited attributes 190
Symbol types, explicit 202
Symbol values 57
Symbol values, declaring types 205
Symbolic tokens 203
Symbolic tokens, maximum number of 193
symbols 14 181 338
Symbols in 200
Symbols, multiple value types 65
Symbols, non-terminal 52 182 335
Symbols, redeclaring types 276
Symbols, reserved in yacc 275
Symbols, setting type for non-terminals 66
Symbols, start 53 57 337
Symbols, terminal 52 182
Symbols, types 201 204
Symbols, values 87 201
Symbols, yacc 181 (see also “Non-terminal symbols and tokens”)
Synchronization point 248
Synchronizing parsers 214
Syntactic validation 51
Syntactic values 338
Syntax checker for SQL 114 140
syntax errors 188
Syntax errors, recovering from 214 216
Syntax errors, reporting 215 243
Syntax errors, user-detected 215
Syntax of lex regular expressions 167
Syntax of SQL 110
Synthesized attributes 189
System V 338
Table expressions in SQL 134—135
Table of precedences 62
Tables for lex parse trees 259
Tables in SQL 110—111
Tables, action in yacc 264
Tables, base 122
Tables, error in lex 257
Tables, fast in flex 283
Tables, output in lex 259
Tables, states in yacc 270
Temporary files in yacc 265 269
Terminal symbols see “Tokens”
Terminals see “Tokens”
Terminating MGL screens 100
TITLE in MGL 82 88 98
Token buffer, enlarging 178
Token buffer, lex 177
Token definition file 15
Token numbers 66 203
Token numbers, listing of 203
Token numbers, redeclaring 276
Token values 203
Token values, declaring types 204
tokenizing 27 338
Tokens 52 148 182 202 338
Tokens in names 200
Tokens in SQL grammar 119
Tokens on left-hand side 270 275
Tokens, appending 177
Tokens, case of names 182
Tokens, codes 15
Tokens, copying 87
Tokens, current in lex 246
Tokens, defining 56 203
Tokens, discarding lookahead 213
Tokens, end of input 59
Tokens, error 188 243 247—249 251
Tokens, illegal start 275
Tokens, length of 174
Tokens, literal 192
Tokens, lowercase names 182
Tokens, naming 18
Tokens, numbers 203
Tokens, overlapping 170
Tokens, redeclaring numbers 276
Tokens, redeclaring precedence 269
Tokens, redeclaring types 271
Tokens, single character 192
Tokens, symbolic 203
Tokens, too large 260
Tokens, too many in yacc 270
Tokens, types 201
Tokens, unshifting in yacc 213
Tokens, uppercase names 182
Tokens, values 201 203
Tokens, zero 59
Trace code in parsers 214
Trace mode 283
Trailing context operator 149
Transitions, bad 256
Transitions, too many 261
Translation tables 167 257
Translation tables in flex 281
Translation tables in POSIX lex 296
Translation tables, errors 257 284
Translations 151
Tree representation of parsing 52
Types of symbols 204
Types, <> missing 271
Types, clash 266
Types, declaring 264 268
Types, illegal for values 275
Types, missing 275—276
Types, multiple 65
Types, names in yacc 200
Types, not specified for %token 268
Types, redeclaring 271 276
Types, setting for non-terminal symbols 66
Uncompressed tables, in flex 283
Undefined, non-terminal symbols 269 277
Undefined, start states 261 285
Undefined, substitutions 284
Underscore (_) in y. output 224
Underscore (_) in yacc 200
unions 66 205
Unput() 38 41 151 173
Unput() in flex 282
Unput(), redefining 148 155—156 173
Unshift current token 213
Unterminated, %union 266 274
Unterminated, actions in flex 284
Unterminated, actions in yacc 264 275
Unterminated, comments in lex 257
Unterminated, comments in yacc 266 274
Unterminated, patterns in flex 284
Unterminated, strings in input 244
Unterminated, strings in lex 258
Unterminated, strings in yacc 266 274
Unterminated, type names 271
UPDATE statement in SQL 131—132
User code in lexers 176
User code in yacc definition section 182 192
User subroutines section, lex 7 34 148
User subroutines section, yacc 19 182
User-detected syntax errors 215
Validating SQL 114
Validation, syntactic 51
Value references in yacc actions 199
Value references, illegal 275—276
Values 57 338
Values of embedded actions 184
Values of inherited attributes 190
Values of non-terminal symbols 57
Values of symbols 57
Values of tokens 203
Values, data types of 57
Values, default type 57
Values, illegal types 264 275
Values, multiple data types 57
Values, pointers 87
Values, yacc symbols 201
Variables in lex 33 148
Variant grammars 205
Verbose flag in yacc 221
Vertical bar (|) after lex patterns 5 148
Vertical bar (|) in regular expressions 29 169
Vertical bar (|) in yacc rules 52 199—200
Views in SQL 124
Virtual tables in SQL 124
VISIBLE in MGL 91
warning messages 244
whitespace 45
Whitespace in lex definition section 147
Whitespace in lex patterns 167
Whitespace in lex rules section 148
Whitespace in SQL 114
Wild card start states 45
Words, counting 32
Words, recognizing 3
Working set 271
Writing files, errors 256
Wrong type of string 244
y.code.c 273
y.out 210 217 291
y.output 210—211 229 265
y.output, conflicts in 221—227
Реклама