X-Git-Url: https://git.saurik.com/bison.git/blobdiff_plain/705db0b507ba8d57d31a23a1ac685b2d4d17e7d5..957d4dbf1653b39df680870ce8dca16df43ad6a6:/doc/bison.info-5 diff --git a/doc/bison.info-5 b/doc/bison.info-5 index a1dfa4d0..de8fa66c 100644 --- a/doc/bison.info-5 +++ b/doc/bison.info-5 @@ -1,5 +1,5 @@ -Ceci est le fichier Info bison.info, produit par Makeinfo version 4.0 à -partir bison.texinfo. +Ceci est le fichier Info bison.info, produit par Makeinfo version 4.0b +à partir bison.texinfo. START-INFO-DIR-ENTRY * bison: (bison). GNU Project parser generator (yacc replacement). @@ -28,6 +28,172 @@ License", "Conditions for Using Bison" and this permission notice may be included in translations approved by the Free Software Foundation instead of in the original English. + +File: bison.info, Node: Glossary, Next: Index, Prev: Table of Symbols, Up: Top + +Glossary +******** + +Backus-Naur Form (BNF) + Formal method of specifying context-free grammars. BNF was first + used in the `ALGOL-60' report, 1963. *Note Languages and + Context-Free Grammars: Language and Grammar. + +Context-free grammars + Grammars specified as rules that can be applied regardless of + context. Thus, if there is a rule which says that an integer can + be used as an expression, integers are allowed _anywhere_ an + expression is permitted. *Note Languages and Context-Free + Grammars: Language and Grammar. + +Dynamic allocation + Allocation of memory that occurs during execution, rather than at + compile time or on entry to a function. + +Empty string + Analogous to the empty set in set theory, the empty string is a + character string of length zero. + +Finite-state stack machine + A "machine" that has discrete states in which it is said to exist + at each instant in time. As input to the machine is processed, the + machine moves from state to state as specified by the logic of the + machine. In the case of the parser, the input is the language + being parsed, and the states correspond to various stages in the + grammar rules. *Note The Bison Parser Algorithm: Algorithm. + +Grouping + A language construct that is (in general) grammatically divisible; + for example, `expression' or `declaration' in C. *Note Languages + and Context-Free Grammars: Language and Grammar. + +Infix operator + An arithmetic operator that is placed between the operands on + which it performs some operation. + +Input stream + A continuous flow of data between devices or programs. + +Language construct + One of the typical usage schemas of the language. For example, + one of the constructs of the C language is the `if' statement. + *Note Languages and Context-Free Grammars: Language and Grammar. + +Left associativity + Operators having left associativity are analyzed from left to + right: `a+b+c' first computes `a+b' and then combines with `c'. + *Note Operator Precedence: Precedence. + +Left recursion + A rule whose result symbol is also its first component symbol; for + example, `expseq1 : expseq1 ',' exp;'. *Note Recursive Rules: + Recursion. + +Left-to-right parsing + Parsing a sentence of a language by analyzing it token by token + from left to right. *Note The Bison Parser Algorithm: Algorithm. + +Lexical analyzer (scanner) + A function that reads an input stream and returns tokens one by + one. *Note The Lexical Analyzer Function `yylex': Lexical. + +Lexical tie-in + A flag, set by actions in the grammar rules, which alters the way + tokens are parsed. *Note Lexical Tie-ins::. + +Literal string token + A token which consists of two or more fixed characters. *Note + Symbols::. + +Look-ahead token + A token already read but not yet shifted. *Note Look-Ahead + Tokens: Look-Ahead. + +LALR(1) + The class of context-free grammars that Bison (like most other + parser generators) can handle; a subset of LR(1). *Note + Mysterious Reduce/Reduce Conflicts: Mystery Conflicts. + +LR(1) + The class of context-free grammars in which at most one token of + look-ahead is needed to disambiguate the parsing of any piece of + input. + +Nonterminal symbol + A grammar symbol standing for a grammatical construct that can be + expressed through rules in terms of smaller constructs; in other + words, a construct that is not a token. *Note Symbols::. + +Parse error + An error encountered during parsing of an input stream due to + invalid syntax. *Note Error Recovery::. + +Parser + A function that recognizes valid sentences of a language by + analyzing the syntax structure of a set of tokens passed to it + from a lexical analyzer. + +Postfix operator + An arithmetic operator that is placed after the operands upon + which it performs some operation. + +Reduction + Replacing a string of nonterminals and/or terminals with a single + nonterminal, according to a grammar rule. *Note The Bison Parser + Algorithm: Algorithm. + +Reentrant + A reentrant subprogram is a subprogram which can be in invoked any + number of times in parallel, without interference between the + various invocations. *Note A Pure (Reentrant) Parser: Pure Decl. + +Reverse polish notation + A language in which all operators are postfix operators. + +Right recursion + A rule whose result symbol is also its last component symbol; for + example, `expseq1: exp ',' expseq1;'. *Note Recursive Rules: + Recursion. + +Semantics + In computer languages, the semantics are specified by the actions + taken for each instance of the language, i.e., the meaning of each + statement. *Note Defining Language Semantics: Semantics. + +Shift + A parser is said to shift when it makes the choice of analyzing + further input from the stream rather than reducing immediately some + already-recognized rule. *Note The Bison Parser Algorithm: + Algorithm. + +Single-character literal + A single character that is recognized and interpreted as is. + *Note From Formal Rules to Bison Input: Grammar in Bison. + +Start symbol + The nonterminal symbol that stands for a complete valid utterance + in the language being parsed. The start symbol is usually listed + as the first nonterminal symbol in a language specification. + *Note The Start-Symbol: Start Decl. + +Symbol table + A data structure where symbol names and associated data are stored + during parsing to allow for recognition and use of existing + information in repeated uses of a symbol. *Note Multi-function + Calc::. + +Token + A basic, grammatically indivisible unit of a language. The symbol + that describes a token in the grammar is a terminal symbol. The + input of the Bison parser is a stream of tokens which comes from + the lexical analyzer. *Note Symbols::. + +Terminal symbol + A grammar symbol that has no rules in the grammar and therefore is + grammatically indivisible. The piece of text it represents is a + token. *Note Languages and Context-Free Grammars: Language and + Grammar. +  File: bison.info, Node: Index, Prev: Glossary, Up: Top @@ -48,11 +214,15 @@ Index * %token: Token Decl. * %type: Type Decl. * %union: Union Decl. -* @N: Action Features. +* @$ <1>: Action Features. +* @$: Actions and Locations. +* @N <1>: Action Features. +* @N: Actions and Locations. * action: Actions. * action data types: Action Types. * action features summary: Action Features. * actions in mid-rule: Mid-Rule Actions. +* actions, location: Actions and Locations. * actions, semantic: Semantic Actions. * additional C code section: C Code. * algorithm of parser: Algorithm. @@ -86,6 +256,7 @@ Index * context-free grammar: Language and Grammar. * controlling function: Rpcalc Main. * dangling else: Shift/Reduce. +* data type of locations: Location Type. * data types in actions: Action Types. * data types of semantic values: Value Type. * debugging: Debugging. @@ -101,6 +272,7 @@ Index * declaring value types, nonterminals: Type Decl. * default action: Actions. * default data type: Value Type. +* default location type: Location Type. * default stack limit: Stack Overflow. * default start symbol: Start Decl. * defining language semantics: Semantics. @@ -139,6 +311,9 @@ Index * lexical tie-in: Lexical Tie-ins. * literal string token: Symbols. * literal token: Symbols. +* location <1>: Locations. +* location: Locations Overview. +* location actions: Actions and Locations. * look-ahead token: Look-Ahead. * LR(1): Mystery Conflicts. * main function in simple example: Rpcalc Main. @@ -158,6 +333,8 @@ Index * parser stack overflow: Stack Overflow. * parser state: Parser States. * polish notation calculator: RPN Calc. +* position, textual <1>: Locations. +* position, textual: Locations Overview. * precedence declarations: Precedence Decl. * precedence of operators: Precedence. * precedence, context-dependent: Contextual Precedence. @@ -200,6 +377,8 @@ Index * syntax error: Error Reporting. * syntax of grammar rules: Rules. * terminal symbol: Symbols. +* textual position <1>: Locations. +* textual position: Locations Overview. * token: Language and Grammar. * token type: Symbols. * token type names, declaring: Token Decl. @@ -229,6 +408,7 @@ Index * yylex: Lexical. * YYLEX_PARAM: Pure Calling. * yylloc: Token Positions. +* YYLLOC_DEFAULT: Location Default Action. * YYLTYPE: Token Positions. * yylval: Token Values. * YYMAXDEPTH: Stack Overflow.