# SOME DESCRIPTIVE TITLE # Copyright (C) YEAR Free Software Foundation, Inc. # This file is distributed under the same license as the PACKAGE package. # FIRST AUTHOR , YEAR. # #, fuzzy msgid "" msgstr "" "Project-Id-Version: PACKAGE VERSION\n" "POT-Creation-Date: 2021-11-07 12:11+0900\n" "PO-Revision-Date: YEAR-MO-DA HO:MI+ZONE\n" "Last-Translator: FULL NAME \n" "Language-Team: LANGUAGE \n" "Language: \n" "MIME-Version: 1.0\n" "Content-Type: text/plain; charset=UTF-8\n" "Content-Transfer-Encoding: 8bit\n" #. type: top #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:6 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:57 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:75 #, no-wrap msgid "@value{TITLE}" msgstr "" #. type: include #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:7 #, no-wrap msgid "docstyle.texi" msgstr "" #. type: copying #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:29 msgid "Copyright @copyright{} 1999--2004, 2012--2021 Free Software Foundation, Inc." msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:37 msgid "" "Permission is granted to copy, distribute and/or modify this document under " "the terms of the GNU Free Documentation License, Version 1.3 or any later " "version published by the Free Software Foundation; with no Invariant " "Sections, with the Front-Cover Texts being ``A GNU Manual,'' and with the " "Back-Cover Texts as in (a) below. A copy of the license is included in the " "section entitled ``GNU Free Documentation License''." msgstr "" #. type: quotation #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:40 msgid "" "(a) The FSF's Back-Cover Text is: ``You have the freedom to copy and modify " "this GNU manual.''" msgstr "" #. type: dircategory #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:43 #, no-wrap msgid "Emacs misc features" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:46 msgid "Bovine: (bovine)" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:46 msgid "Semantic bovine parser development." msgstr "" #. type: author #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:58 #, no-wrap msgid "by @value{AUTHOR}" msgstr "" #. type: i{#1} #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:67 msgid "Semantic" msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:74 #, no-wrap msgid "top" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:83 msgid "" "The @dfn{bovine} parser is the original @semantic{} parser, and is an " "implementation of an @acronym{LL} parser. It is good for simple languages. " "It has many conveniences making grammar writing easy. The conveniences make " "it less powerful than a Bison-like @acronym{LALR} parser. For more " "information, @pxref{Top,, Wisent Parser Development, wisent}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:88 msgid "" "Bovine @acronym{LL} grammars are stored in files with a @file{.by} " "extension. When compiled, the contents is converted into a file of the form " "@file{NAME-by.el}. This, in turn is byte compiled. @xref{top,, Grammar " "Framework Manual, grammar-fw}." msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:102 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:103 #, no-wrap msgid "Starting Rules" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 msgid "The starting rules for the grammar." msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:124 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:125 #, no-wrap msgid "Bovine Grammar Rules" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 msgid "Rules used to parse a language." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:283 #, no-wrap msgid "Optional Lambda Expression" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 msgid "Actions to take when a rule is matched." msgstr "" #. type: node #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:398 #, no-wrap msgid "Bovine Examples" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 msgid "Simple Samples." msgstr "" #. type: appendix #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:458 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:459 #, no-wrap msgid "GNU Free Documentation License" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:100 msgid "The license for this documentation." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:110 msgid "" "In Bison, one and only one nonterminal is designated as the ``start'' " "symbol. In @semantic{}, one or more nonterminals can be designated as the " "``start'' symbol. They are declared following the @code{%start} keyword " "separated by spaces. @xref{start Decl,, Grammar Framework Manual, " "grammar-fw}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:115 msgid "" "If no @code{%start} keyword is used in a grammar, then the very first is " "used. Internally the first start nonterminal is targeted by the reserved " "symbol @code{bovine-toplevel}, so it can be found by the parser harness." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:123 msgid "" "To find locally defined variables, the local context handler needs to parse " "the body of functional code. The @code{scopestart} declaration specifies " "the name of a nonterminal used as the goal to parse a local context, " "@pxref{scopestart Decl,, Grammar Framework Manual, grammar-fw}. Internally " "the scopestart nonterminal is targeted by the reserved symbol " "@code{bovine-inner-scope}, so it can be found by the parser harness." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:130 msgid "" "The rules are what allow the compiler to create tags from a language file. " "Once the setup is done in the prologue, you can start writing rules. " "@xref{Grammar Rules,, Grammar Framework Manual, grammar-fw}." msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:135 #, no-wrap msgid "" "@var{result} : @var{components1} @var{optional-semantic-action1})\n" " | @var{components2} @var{optional-semantic-action2}\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:141 msgid "" "@var{result} is a nonterminal, that is a symbol synthesized in your " "grammar. @var{components} is a list of elements that are to be matched if " "@var{result} is to be made. @var{optional-semantic-action} is an optional " "sequence of simplified Emacs Lisp expressions for concocting the parse tree." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:146 msgid "" "In bison, each time an element of @var{components} is found, it is " "@dfn{shifted} onto the parser stack. (The stack of matched elements.) When " "all @var{components}' elements have been matched, it is @dfn{reduced} to " "@var{result}. @xref{Algorithm,,, bison, The GNU Bison Manual}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:153 msgid "" "A particular @var{result} written into your grammar becomes the parser's " "goal. It is designated by a @code{%start} statement (@pxref{Starting " "Rules}). The value returned by the associated " "@var{optional-semantic-action} is the parser's result. It should be a tree " "of @semantic{} @dfn{tags}, @pxref{Semantic Tags,, Semantic Application " "Development, semantic-appdev}." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:156 msgid "" "@var{components} is made up of symbols. A symbol such as @code{FOO} means " "that a syntactic token of class @code{FOO} must be matched." msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:161 msgid "How Lexical Tokens Match::" msgstr "" #. type: menuentry #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:161 msgid "Grammar-to-Lisp Details::" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:161 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:265 #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:266 #, no-wrap msgid "Order of components in rules" msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:163 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:164 #, no-wrap msgid "How Lexical Tokens Match" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:167 msgid "A lexical rule must be used to define how to match a lexical token." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:169 msgid "For instance:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:172 #, no-wrap msgid "%keyword FOO \"foo\"\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:180 msgid "" "Means that @code{FOO} is a reserved language keyword, matched as such by " "looking up into a keyword table, @pxref{keyword Decl,, Grammar Framework " "Manual, grammar-fw}. This is because @code{\"foo\"} will be converted to " "@code{FOO} in the lexical analysis stage. Thus the symbol @code{FOO} won't " "be available any other way." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:182 msgid "If we specify our token in this way:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:185 #, no-wrap msgid "%token FOO \"foo\"\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:190 msgid "" "then @code{FOO} will match the string @code{\"foo\"} explicitly, but it " "won't do so at the lexical level, allowing use of the text @code{\"foo\"} in " "other forms of regular expressions." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:194 msgid "" "In that case, @code{FOO} is a @code{symbol}-type token. To match, a " "@code{symbol} must first be encountered, and then it must @code{string-match " "\"foo\"}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:196 #, no-wrap msgid "Caution:" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:199 msgid "" "Be especially careful to remember that @code{\"foo\"}, and more generally " "the %token's match-value string, is a regular expression!" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:202 msgid "Non symbol tokens are also allowed. For example:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:205 #, no-wrap msgid "" "%token PERIOD \"[.]\"\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:208 #, no-wrap msgid "" "filename : symbol PERIOD symbol\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:212 msgid "" "@code{PERIOD} is a @code{punctuation}-type token that will explicitly match " "one period when used in the above rule." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:214 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:260 #, no-wrap msgid "Please Note:" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:218 msgid "" "@code{symbol}, @code{punctuation}, etc., are predefined lexical token types, " "based on the @dfn{syntax class}-character associations currently in effect." msgstr "" #. type: section #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:220 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:221 #, no-wrap msgid "Grammar-to-Lisp Details" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:226 msgid "" "For the bovinator, lexical token matching patterns are @emph{inlined}. When " "the grammar-to-lisp converter encounters a lexical token declaration of the " "form:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:229 #, no-wrap msgid "%token <@var{type}> @var{token-name} @var{match-value}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:233 msgid "" "It substitutes every occurrences of @var{token-name} in rules, by its " "expanded form:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:236 #, no-wrap msgid "@var{type} @var{match-value}\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:239 msgid "For example:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:242 #, no-wrap msgid "" "%token MOOSE \"moose\"\n" "\n" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:245 #, no-wrap msgid "" "find_a_moose: MOOSE\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:248 msgid "Will generate this pseudo equivalent-rule:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:252 #, no-wrap msgid "" "find_a_moose: symbol \"moose\" ;; invalid syntax!\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:258 msgid "" "Thus, from the bovinator point of view, the @var{components} part of a rule " "is made up of symbols and strings. A string in the mix means that the " "previous symbol must have the additional constraint of exactly matching it, " "as described in @ref{How Lexical Tokens Match}." msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:263 msgid "" "For the bovinator, this task was mixed into the language definition to " "simplify implementation, though Bison's technique is more efficient." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:269 msgid "If a rule has multiple components, order is important, for example" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:274 #, no-wrap msgid "" "headerfile : symbol PERIOD symbol\n" " | symbol\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:280 msgid "" "would match @samp{foo.h} or the @acronym{C++} header @samp{foo}. The bovine " "parser will first attempt to match the long form, and then the short form. " "If they were in reverse order, then the long form would never be tested." msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:284 #, no-wrap msgid "Optional Lambda Expressions" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:289 msgid "" "The @acronym{OLE} (@dfn{Optional Lambda Expression}) is converted into a " "bovine lambda. This lambda has special short-cuts to simplify reading the " "semantic action definition. An @acronym{OLE} like this:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:292 #, no-wrap msgid "( $1 )\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:297 msgid "" "results in a lambda return which consists entirely of the string or object " "found by matching the first (zeroth) element of match. An @acronym{OLE} " "like this:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:300 #, no-wrap msgid "( ,(foo $1) )\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:304 msgid "" "executes @code{foo} on the first argument, and then splices its return into " "the return list whereas:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:307 #, no-wrap msgid "( (foo $1) )\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:310 msgid "executes @code{foo}, and that is placed in the return list." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:312 msgid "Here are other things that can appear inline:" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:314 #, no-wrap msgid "$1" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:316 msgid "The first object matched." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:317 #, no-wrap msgid ",$1" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:320 msgid "" "The first object spliced into the list (assuming it is a list from a " "non-terminal)." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:321 #, no-wrap msgid "'$1" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:323 msgid "The first object matched, placed in a list. I.e., @code{( $1 )}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:324 #, no-wrap msgid "foo" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:326 msgid "The symbol @code{foo} (exactly as displayed)." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:327 #, no-wrap msgid "(foo)" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:329 msgid "A function call to foo which is stuck into the return list." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:330 #, no-wrap msgid ",(foo)" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:332 msgid "A function call to foo which is spliced into the return list." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:333 #, no-wrap msgid "'(foo)" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:335 msgid "A function call to foo which is stuck into the return list in a list." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:336 #, no-wrap msgid "(EXPAND @var{$1} @var{nonterminal} @var{depth})" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:345 msgid "" "A list starting with @code{EXPAND} performs a recursive parse on the token " "passed to it (represented by @samp{$1} above.) The @dfn{semantic list} is a " "common token to expand, as there are often interesting things in the list. " "The @var{nonterminal} is a symbol in your table which the bovinator will " "start with when parsing. @var{nonterminal}'s definition is the same as any " "other nonterminal. @var{depth} should be at least @samp{1} when descending " "into a semantic list." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:346 #, no-wrap msgid "(EXPANDFULL @var{$1} @var{nonterminal} @var{depth})" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:353 msgid "" "Is like @code{EXPAND}, except that the parser will iterate over " "@var{nonterminal} until there are no more matches. (The same way the parser " "iterates over the starting rule (@pxref{Starting Rules}). This lets you have " "much simpler rules in this specific case, and also lets you have positional " "information in the returned tokens, and error skipping." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:354 #, no-wrap msgid "(ASSOC @var{symbol1} @var{value1} @var{symbol2} @var{value2} @dots{})" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:359 msgid "" "This is used for creating an association list. Each @var{symbol} is " "included in the list if the associated @var{value} is non-@code{nil}. While " "the items are all listed explicitly, the created structure is an association " "list of the form:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:362 #, no-wrap msgid "((@var{symbol1} . @var{value1}) (@var{symbol2} . @var{value2}) @dots{})\n" msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:364 #, no-wrap msgid "(TAG @var{name} @var{class} [@var{attributes}])" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:366 msgid "This creates one tag in the current buffer." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:368 #, no-wrap msgid "name" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:370 msgid "Is a string that represents the tag in the language." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:371 #, no-wrap msgid "class" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:374 msgid "" "Is the kind of tag being create, such as @code{function}, or " "@code{variable}, though any symbol will work." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:375 #, no-wrap msgid "attributes" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:378 msgid "" "Is an optional set of labeled values such as @code{:constant-flag t :parent " "\"parenttype\"}." msgstr "" #. type: item #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:380 #, no-wrap msgid "(TAG-VARIABLE @var{name} @var{type} @var{default-value} [@var{attributes}])" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:381 #, no-wrap msgid "(TAG-FUNCTION @var{name} @var{type} @var{arg-list} [@var{attributes}])" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:382 #, no-wrap msgid "" "(TAG-TYPE @var{name} @var{type} @var{members} @var{parents} " "[@var{attributes}])" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:383 #, no-wrap msgid "(TAG-INCLUDE @var{name} @var{system-flag} [@var{attributes}])" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:384 #, no-wrap msgid "(TAG-PACKAGE @var{name} @var{detail} [@var{attributes}])" msgstr "" #. type: itemx #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:385 #, no-wrap msgid "(TAG-CODE @var{name} @var{detail} [@var{attributes}])" msgstr "" #. type: table #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:391 msgid "" "Create a tag with @var{name} of respectively the class @code{variable}, " "@code{function}, @code{type}, @code{include}, @code{package}, and " "@code{code}. See @ref{Creating Tags,, Semantic Application Development, " "semantic-appdev}, for the lisp functions these translate into." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:397 msgid "" "If the symbol @code{%quotemode backquote} is specified, then use @code{,@@} " "to splice a list in, and @code{,} to evaluate the expression. This lets you " "send @code{$1} as a symbol into a list instead of having it expanded inline." msgstr "" #. type: chapter #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:399 #, no-wrap msgid "Examples" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:402 msgid "The rule:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:406 #, no-wrap msgid "" "any-symbol: symbol\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:409 msgid "is equivalent to" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:414 #, no-wrap msgid "" "any-symbol: symbol\n" " ( $1 )\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:417 msgid "which, if it matched the string @samp{\"A\"}, would return" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:420 #, no-wrap msgid "( \"A\" )\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:423 msgid "If this rule were used like this:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:430 #, no-wrap msgid "" "%token EQUAL \"=\"\n" "@dots{}\n" "assign: any-symbol EQUAL any-symbol\n" " ( $1 $3 )\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:433 msgid "it would match @samp{\"A=B\"}, and return" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:436 #, no-wrap msgid "( (\"A\") (\"B\") )\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:440 msgid "" "The letters @samp{A} and @samp{B} come back in lists because " "@samp{any-symbol} is a nonterminal, not an actual lexical element." msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:443 msgid "" "To get a better result with nonterminals, use @asis{,} to splice lists in " "like this:" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:450 #, no-wrap msgid "" "%token EQUAL \"=\"\n" "@dots{}\n" "assign: any-symbol EQUAL any-symbol\n" " ( ,$1 ,$3 )\n" " ;\n" msgstr "" #. type: Plain text #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:453 msgid "which would return" msgstr "" #. type: example #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:456 #, no-wrap msgid "( \"A\" \"B\" )\n" msgstr "" #. type: include #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:461 #, no-wrap msgid "doclicense.texi" msgstr "" #. type: unnumbered #: /Users/suzume/Documents/Repositories/Projet OmegaT de Documentation Emacs - #: Sources/doc/misc/bovine.texi:465 /Users/suzume/Documents/Repositories/Projet #: OmegaT de Documentation Emacs - Sources/doc/misc/bovine.texi:466 #, no-wrap msgid "Index" msgstr ""