%PDF- %PDF-
Direktori : /usr/local/share/emacs/27.2/lisp/cedet/semantic/bovine/ |
Current File : //usr/local/share/emacs/27.2/lisp/cedet/semantic/bovine/c-by.elc |
;ELC ;;; Compiled ;;; in Emacs version 27.2 ;;; with all optimizations. ;;; This file uses dynamic docstrings, first added in Emacs 19.29. ;;; This file does not contain utf-8 non-ASCII characters, ;;; and so can be loaded in Emacs versions earlier than 23. ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;; (require 'semantic/lex) #@64 The number of expected shift/reduce conflicts in this grammar. (defconst semantic-c-by--expected-conflicts nil (#$ . 432)) #@29 Table of language keywords. (defconst semantic-c-by--keyword-table (semantic-lex-make-keyword-table '(("extern" . EXTERN) ("static" . STATIC) ("const" . CONST) ("volatile" . VOLATILE) ("register" . REGISTER) ("signed" . SIGNED) ("unsigned" . UNSIGNED) ("inline" . INLINE) ("virtual" . VIRTUAL) ("mutable" . MUTABLE) ("explicit" . EXPLICIT) ("struct" . STRUCT) ("union" . UNION) ("enum" . ENUM) ("typedef" . TYPEDEF) ("class" . CLASS) ("typename" . TYPENAME) ("namespace" . NAMESPACE) ("using" . USING) ("new" . NEW) ("delete" . DELETE) ("template" . TEMPLATE) ("throw" . THROW) ("reentrant" . REENTRANT) ("try" . TRY) ("catch" . CATCH) ("operator" . OPERATOR) ("public" . PUBLIC) ("private" . PRIVATE) ("protected" . PROTECTED) ("friend" . FRIEND) ("if" . IF) ("else" . ELSE) ("do" . DO) ("while" . WHILE) ("for" . FOR) ("switch" . SWITCH) ("case" . CASE) ("default" . DEFAULT) ("return" . RETURN) ("break" . BREAK) ("continue" . CONTINUE) ("sizeof" . SIZEOF) ("void" . VOID) ("char" . CHAR) ("wchar_t" . WCHAR) ("short" . SHORT) ("int" . INT) ("long" . LONG) ("float" . FLOAT) ("double" . DOUBLE) ("bool" . BOOL) ("_P" . UNDERP) ("__P" . UNDERUNDERP)) '(("__P" summary "Common macro to eliminate prototype compatibility on some compilers") ("_P" summary "Common macro to eliminate prototype compatibility on some compilers") ("bool" summary "Primitive boolean type") ("double" summary "Primitive floating-point type (double-precision 64-bit IEEE 754)") ("float" summary "Primitive floating-point type (single-precision 32-bit IEEE 754)") ("long" summary "Integral primitive type (-9223372036854775808 to 9223372036854775807)") ("int" summary "Integral Primitive Type: (-2147483648 to 2147483647)") ("short" summary "Integral Primitive Type: (-32768 to 32767)") ("wchar_t" summary "Wide Character Type") ("char" summary "Integral Character Type: (0 to 256)") ("void" summary "Built in type: void") ("sizeof" summary "Compile time macro: sizeof(<type or variable>) // size in bytes") ("continue" summary "Non-local continue within a loop (for, do/while): continue;") ("break" summary "Non-local exit within a loop or switch (for, do/while, switch): break;") ("return" summary "return <value>;") ("default" summary "switch (<variable>) { case <constvalue>: code; ... default: code; }") ("case" summary "switch (<variable>) { case <constvalue>: code; ... default: code; }") ("switch" summary "switch (<variable>) { case <constvalue>: code; ... default: code; }") ("for" summary "for(<init>; <condition>; <increment>) { code }") ("while" summary "do { code } while (<condition>); or while (<condition>) { code };") ("do" summary " do { code } while (<condition>);") ("else" summary "if (<condition>) { code } [ else { code } ]") ("if" summary "if (<condition>) { code } [ else { code } ]") ("friend" summary "friend class <CLASSNAME>") ("catch" summary "try { <body> } catch { <catch code> }") ("try" summary "try { <body> } catch { <catch code> }") ("reentrant" summary "<type> <methoddef> (<method args>) reentrant ...") ("throw" summary "<type> <methoddef> (<method args>) throw (<exception>) ...") ("template" summary "template <class TYPE ...> TYPE_OR_FUNCTION") ("delete" summary "delete <object>;") ("new" summary "new <classname>();") ("using" summary "using <namespace>;") ("namespace" summary "Namespace Declaration: namespace <name> { ... };") ("typename" summary "typename is used to handle a qualified name as a typename;") ("class" summary "Class Declaration: class <name>[:parents] { ... };") ("typedef" summary "Arbitrary Type Declaration: typedef <typedeclaration> <name>;") ("enum" summary "Enumeration Type Declaration: enum [name] { ... };") ("union" summary "Union Type Declaration: union [name] { ... };") ("struct" summary "Structure Type Declaration: struct [name] { ... };") ("explicit" summary "Forbids implicit type conversion: explicit <constructor>") ("mutable" summary "Member Declaration Modifier: mutable <type> <name> ...") ("virtual" summary "Method Modifier: virtual <type> <name>(...) ...") ("inline" summary "Function Modifier: inline <return type> <name>(...) {...};") ("unsigned" summary "Numeric Type Modifier: unsigned <numeric type> <name> ...") ("signed" summary "Numeric Type Modifier: signed <numeric type> <name> ...") ("register" summary "Declaration Modifier: register <type> <name> ...") ("volatile" summary "Declaration Modifier: volatile <type> <name> ...") ("const" summary "Declaration Modifier: const <type> <name> ...") ("static" summary "Declaration Modifier: static <type> <name> ...") ("extern" summary "Declaration Modifier: extern <type> <name> ..."))) (#$ . 561)) #@26 Table of lexical tokens. (defconst semantic-c-by--token-table (semantic-lex-make-type-table '(("semantic-list" (BRACKETS . "\\[\\]") (PARENS . "()") (VOID_BLCK . "^(void)$") (BRACE_BLCK . "^{") (PAREN_BLCK . "^(") (BRACK_BLCK . "\\[.*\\]$")) ("close-paren" (RBRACE . "}") (RPAREN . ")")) ("open-paren" (LBRACE . "{") (LPAREN . "(")) ("symbol" (RESTRICT . "\\<\\(__\\)?restrict\\>")) ("number" (ZERO . "^0$")) ("string" (CPP . "\"C\\+\\+\"") (C . "\"C\"")) ("punctuation" (OR . "\\`[|]\\'") (HAT . "\\`\\^\\'") (MOD . "\\`[%]\\'") (TILDE . "\\`[~]\\'") (COMA . "\\`[,]\\'") (GREATER . "\\`[>]\\'") (LESS . "\\`[<]\\'") (EQUAL . "\\`[=]\\'") (QUESTION . "\\`[?]\\'") (BANG . "\\`[!]\\'") (MINUS . "\\`[-]\\'") (PLUS . "\\`[+]\\'") (DIVIDE . "\\`[/]\\'") (AMPERSAND . "\\`[&]\\'") (STAR . "\\`[*]\\'") (SEMICOLON . "\\`[;]\\'") (COLON . "\\`[:]\\'") (PERIOD . "\\`[.]\\'") (HASH . "\\`[#]\\'"))) nil) (#$ . 5189)) #@15 Parser table. (defconst semantic-c-by--parse-table (byte-code "\300\301\302\303\304\305\306D\307\310\311DF\312\313\314\315\316\317\257\313\314\320\316\321\257\313\314\315\322F\313\314\320\323F\257\324\325\326D\327\330D\331\332DF\333\325\334D\335\336DE\337\316\340DD\341\342\305\343\344E\310\345\346E\347\350\351\352\353\257\354\355\356\357E\355\360\361\362F\363BBBBBBB\364\351\352\365\366\367\257\370CE\371\372\373\374\375F\373\372\374\376FE\365\371\351\377\365\201@ \257\371\201A DE\373\201B \373\201C E\201D BB\201E \201F \372\347\201G D\201H CE\201I \316\201J DD\201K \305\343\201L E\310\345\201M E\201N \201O \201P \347\351\352\201Q F\201R \201S \331\201T D\201U BBBBBBBBBB\201V \316\201W DD\201X \361\201Y \201Z E\305\343\201[ E\310\345\201\\ E\351\377\201] E\257\201^ \201_ \201` CE\201a \201b \201c \201^ \366\364\316\201d \257\201b \201c \201^ \366\364\201e \257\201f \201c \201^ \337\201g \257\201h \201c \201^ \201V \201i \257\201j \201k \201l \201m \201n \201o \257\257\201n \201p \351\377\201n \201q \257\201p \201r DE\201p \201s \361\201t \201u \201v \257D\201w \201x \201a \351\201y \201z F\201{ \361\201I \201| F\201{ \201I \201} E\201{ \361\351\201~ \201l \351\201y \201 \257\257\201\200 \201\201 \201\202 \351\201y \201\203 \257D\201\202 \201l \201\204 D\201{ \201l \201\205 EE\201\206 \201\207 \201\210 \201\211 \201\212 \201\213 \257D\201\214 \366\201\210 \201\215 D\201\216 CE\201\210 \351\201\217 \201\220 \351\201\221 \201\222 \257D\201\220 \201\223 \201\224 \201\225 E\201\226 BB\201\224 \351\377\201\220 \201\227 F\201\230 CE\201\223 \201\231 \201\232 \201\233 E\314\201\234 D\201\235 \201\236 D\201s \201\237 \374\201\240 F\316\201\241 D\201\242 \316\201\243 E\257\201\232 \351\201~ \361\351\201\217 \201\220 \351\201\221 \201\244 \257 \351\201~ \361\201\245 F\201\246 CF\201\231 \360\361\201\247 E\201\250 \361\201\251 E\201\252 \361\201\253 E\201k \201l \201m \201s \201\237 \201\254 \201\255 \257\257\201\212 \201x \201\256 D\201\257 \201\260 DE\201s \351\201\261 \201\262 \201s \201\263 \257\201\264 CE\201\262 \201\265 \201\262 \201\266 E\201\267 CE\201\270 \201k \201\271 \201k \201\272 E\201\271 \201\273 D\201\274 CF\201\275 \201\276 \201\277 \201\300 D\201\301 CE\201\302 \201m \201\303 \201m \201\304 E\201\303 \201\305 D\201\306 CF\201\307 \201\237 \351\201\310 \201\311 E\201\312 CE\201l \201a \201\313 D\201\250 \361\201\314 E\201f \361\201\315 E\201h \361\201\316 E\201\317 \201\320 D\361\201\210 \201\321 E\201\322 \366\201\323 E\361\201\324 D\257 \201\325 \201\326 \201\327 \201\330 \201\331 \201\332 \201\333 \201\334 E\201\335 \201\336 \201\337 \201\333 \201\340 E\201\341 \201\342 \201\343 \201\337 \201\344 \201\345 E\201\337 \211\201\346 E\201\347 BBBBBBBBBBBBB\201\317 \201\350 \201\326 \201\351 E\201\326 \201\352 D\201\350 \201\353 DF\201\354 \201k \201l \201k \201\237 \201\355 \201\356 \257D\201\257 \201\354 \201\357 D\201k \201\355 \201\360 EE\201\355 \356\201\361 D\201\362 \201\363 DE\356\201s \201c \201\364 \201\365 \366\201\366 \201\367 \201\370 \201\371 \201\372 \201\373 \201\374 \257\f\201s \201c \201\364 \201\365 \366\201\366 \201\370 \201\371 \201\372 \201\375 \201\376 \257E\201\362 \201\377 \351\201y \201 FD\201\366 \201\201D\201\201D\201BBB\201\201\370 \201\201\370 \201E\201 CE\201\n\201\371 \201\316\201\fE\201 BB\201\374\351\377\201\201\257\374\310\201\201F\361\310\201\201F\305\201\201\201F\310\201\201E\257\201t \351\352\201\235 \201F\201CE\201u \316\201\201u \201F\201CE\201Y \351\201~ \201\201F\201CE\201\201\201s \201 \374\201t \201u \201!\257D\201\"\201k \201l \201m \201\237 \201\254 \201Y \201#\257D\201\254 \201\201$D\316\201\367 \201%E\201s \201&DF\201'\201\377 \201\237 \201\201(\351\377\201\377 \201)\257\201\237 \201\201(\201*FE\374\361\366\351\352\351\352\374\201+\257\361\366\201,EE\201\322 \361\366\351\352\351\352\201\322 \201-\257\361\201.DE\201/\361\351\352\351\352\201/\2010\257\361\366\351\352\351\352\2011\257E\201c \201/\2012D\2013CE\201\364 \351\2014\2015E\2016CE\201\367 \316\2017\2018\2019F\316\2017\201:E\316\201;\201<EF\201=\201\351\377\201=\201>\257\201\201?DE\201@\201k \201l \201m \201=\201A\257D\2018\201@\351\201y \2018\201B\257\201@\351\201y \201CFE\201D\201\"\201ED\351\201F\351\201F\351\201F\310\201\201G\257 \351\377\201HE\305\201\201IE\310\201\201JE\257\201K\351\201\217 \351\201\217 \351\201~ \201L\257\351\201\221 \351\201\221 \351\201~ \201M\257\351\201\217 \351\201\217 \201N\257\351\201\221 \351\201\221 \201O\257\351\201~ \351\201~ \201P\257\351\201\217 \351\201~ \201Q\257\351\201\221 \351\201~ \201R\257\351\201S\351\201~ \201T\257\351\201U\351\201~ \201V\257\351\201W\351\201~ \201X\257\351\201\261 \351\201~ \201Y\257\351\201Z\351\201~ \201[\257\351\201\\\351\201~ \201]\257\351\201\310 \351\201~ \201^\257\351\201_\351\201~ \201`\257\351\201W\351\201\221 \351\201\261 \201a\257\351\201W\351\201\221 \201b\257\316\201c\201dE\316\201e\201fE\201g\201h\201i\351\201U\351\201U\201j\257\201k\351\201W\351\201W\201l\257\201m\351\201\310 \351\201\310 \201n\257\201o\351\201_\351\201_\201p\257\201q\201r\201s\201t\201u\201v\201w\351\201x\351\201~ \201y\257\201zBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\201\365 \201{\201K\201|E\316\201}D\361\201~DF\201\305\201\351\201\261 \350\310\201\201\200\257\305\201\361\310\201\201\201\257E\201\373 \351\201y \201\202E\316\201\203D\351\201~ \201\235 \201\204\351\201y \201\205\257\201\375 \201\206D\257\201\375 \201\207\201\372 \316\201\210\201\211\201\212\257D\201\211\201\213\316\2017\316\201\210\201\211\201\214\257\201\213\316\201\210\201\211\201\215\257\201\216CF\201\217\316\201\220DD\201\221\201\222\201\223\201\224\201\225\314\201\225\201\226E\314\201\227DE\201\230\201\231\201\201\232\351\201\233\201\232\351\352\201\232\201\234\257\201\232\201\235\201\232\201\236F\201\232\201\237DF\201\240BBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBBB\207" [(bovine-toplevel (declaration)) (bovine-inner-scope (codeblock)) (declaration (macro) (type) (define) (var-or-fun) (extern-c) (template) (using)) (codeblock (define) (codeblock-var-or-fun) (type) (using)) extern-c-contents open-paren #[#1=(vals start end) "\302\303C D\"\207" [start end append nil] 4] (declaration) close-paren #[#1# "\302\303C D\"\207" [start end append nil] 4] extern-c EXTERN string "\"C\"" semantic-list #[#1# "\306\307\310\311\312\3138@\3138A\314\315$D\211\n\316 !\317\211\257+\f D\"\207" [vals attributes class name start end append "C" extern :members semantic-parse-region 2 extern-c-contents 1 semantic-tag-make-plist nil] 10] "\"C\\+\\+\"" #[#1# "\306\307\310\311\312\3138@\3138A\314\315$D\211\n\316 !\317\211\257+\f D\"\207" [vals attributes class name start end append "C" extern :members semantic-parse-region 2 extern-c-contents 1 semantic-tag-make-plist nil] 10] #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] macro spp-macro-def #[#1# "\306@\307\211\310\311D\312\313\f\314\315\316\n &, D\"\207" [vals attributes default-value type name start append nil :constant-flag t apply semantic-tag variable :type :default-value end] 10] spp-system-include #[#1# "\306@\307\310\311\312\313\314\n &+\f D\"\207" [vals attributes system-flag name start end append t nil apply semantic-tag include :system-flag] 8] spp-include #[#1# "\306@\307\211\310\311\312\313\n &+\f D\"\207" [vals attributes system-flag name start end append nil apply semantic-tag include :system-flag] 8] define #[#1# "\306@\307\211\310\311D\312\313\f\314\315\316\n &, D\"\207" [vals attributes default-value type name start append nil :constant-flag t apply semantic-tag variable :type :default-value end] 10] spp-macro-undef #[#1# "\302\303C D\"\207" [start end append nil] 4] unionparts #[#1# "\303\304@@@A\305\306$ \nD\"\207" [vals start end append semantic-parse-region classsubparts 1] 6] (opt-symbol (symbol) nil) classsubparts "{" #[#1# "\302\303C D\"\207" [start end append nil] 4] "}" #[#1# "\302\303C D\"\207" [start end append nil] 4] class-protection opt-symbol punctuation "\\`[:]\\'" #[#1# "\306@@\307\310\211\n\311 !\310\211\257+\f D\"\207" [vals attributes class name start end append label nil semantic-tag-make-plist] 7] (var-or-fun) FRIEND func-decl #[#1# "\306A@@\307\310\211\n\311 !\310\211\257+\f D\"\207" [vals attributes class name start end append friend nil semantic-tag-make-plist] 7] CLASS symbol #[#1# "\306\3078\310\311\211\n\312 !\311\211\257+\f D\"\207" [vals attributes class name start end append 2 friend nil semantic-tag-make-plist] 7] ((type) (define) (template) nil) opt-class-parents class-parents opt-template-specifier #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] one-class-parent opt-class-protection opt-class-declmods namespace-symbol #[#1# "\306\3078@\310\311\211\312@@D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append 2 "class" nil :protection apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\306\3078@\310\311\211\312A@@D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append 2 "class" nil :protection apply semantic-tag :type :members :superclasses :interfaces start end] 14] "\\`[,]\\'" #[#1# "\303@\3048B \nD\"\207" [vals start end append 2] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] class-declmods #[#1# "\302\303C D\"\207" [start end append nil] 4] (nil) (class-declmods (VIRTUAL)) (class-protection (PUBLIC) (PRIVATE) (PROTECTED)) #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append "unspecified"] 4] namespaceparts #[#1# "\303\304@@@A\305\306$ \nD\"\207" [vals start end append semantic-parse-region namespacesubparts 1] 6] namespacesubparts #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] (type) (var-or-fun) (define) #[#1# "\306@@\307\310\211\n\311 !\310\211\257+\f D\"\207" [vals attributes class name start end append label nil semantic-tag-make-plist] 7] (template) (using) #[#1# "\306@\307\310\311D\211\n\312 !\313\211\257+\f D\"\207" [vals attributes class name start end append include :inside-ns t semantic-tag-make-plist nil] 7] (nil) enumparts #[#1# "\303\304@@@A\305\306$ \nD\"\207" [vals start end append semantic-parse-region enumsubparts 1] 6] enumsubparts opt-assign #[#1# "\306@\307A@@\310\311D\312\313\f\314\315\316\n &, D\"\207" [vals attributes default-value type name start append "int" :constant-flag t apply semantic-tag variable :type :default-value end] 10] #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] opt-name (symbol) #[#1# "\302\303C D\"\207" [start end append #2=""] 4] typesimple struct-or-class opt-class #[#1# "\306\3078@@@\3078@@@B\310\3118@\3118A\312\313$)\3148\315\3168\317A@@F\320\321\305\322 \323\f\324@\325A\n&\f-D\"\207" [vals semantic-c-classname attributes parents members type append 2 semantic-parse-region 5 classsubparts 1 4 :template-specifier 3 :parent apply semantic-tag :type :members :superclasses :interfaces name start end] 14] #[#1# "\306\3078@@@\310\3118\312\3138\314\315\316A@@\257\317\320 \304\321\f\322\323\n@\324\nA &\f-D\"\207" [vals attributes parents members type name append 2 nil 4 :template-specifier 3 :prototype t :parent apply semantic-tag :type :members :superclasses :interfaces start end] 14] UNION #[#1# "\306\3078@@\3108\311\312A@@D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append 2 3 nil :parent apply semantic-tag :type :members :superclasses :interfaces start end] 14] ENUM #[#1# "\306\3078@@\3108\311\312A@@D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append 2 3 nil :parent apply semantic-tag :type :members :superclasses :interfaces start end] 14] TYPEDEF declmods typeformbase cv-declmods typedef-symbol-list #[#1# "\306\3078@\310\3118C\310\312\313 \304\314\f\315\316\n@\317\nA &\f-D\"\207" [vals attributes parents members type name append 4 nil 2 apply semantic-tag :type :members :superclasses :interfaces start end] 14] typedefname #[#1# "\303@\3048B \nD\"\207" [vals start end append 2] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] opt-stars opt-bits opt-array #[#1# "\303@A@D \nD\"\207" [vals start end append] 4] (struct-or-class (STRUCT) (CLASS)) type "\\`[;]\\'" #[#1# "\303@ \nD\"\207" [vals start end append] 4] NAMESPACE #[#1# "\306A@@\3078\310\211\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append 2 nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\306\307@A@\310\211\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append "unnamed" nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] "\\`[=]\\'" #[#1# "\306A@@\3078@@\310\211\211\311\312 \304\313\f\314\315\n@\316\nA &\f-C\310\317\320D\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append 3 nil apply semantic-tag :type :members :superclasses :interfaces :kind alias start end] 16] using USING usingname #[#1# "\306A@@\307\310A@D\211\n\311 !\312\211\257+\f D\"\207" [vals attributes class name start end append using :type semantic-tag-make-plist nil] 7] #[#1# "\306@@\307\310\211\311\312D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append "class" nil :prototype t apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\306A@@\307\310\211\311\312D\313\314 \304\315\f\316\317\n@\320\nA &\f-D\"\207" [vals attributes parents members type name append "namespace" nil :prototype t apply semantic-tag :type :members :superclasses :interfaces start end] 14] template TEMPLATE template-specifier opt-friend template-definition #[#1# "\303\304\3058A@\" \nD\"\207" [vals start end append semantic-c-reconstitute-template 3] 4] (opt-friend (FRIEND) nil) #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] "\\`[<]\\'" template-specifier-types "\\`[>]\\'" #[#1# "\303A@ \nD\"\207" [vals start end append] 4] template-var template-specifier-type-list #[#1# "\303@A@B \nD\"\207" [vals start end append] 4] (nil) #[#1# "\303A@ \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] template-type opt-template-equal #[#1# "\303@@@AB \nD\"\207" [vals start end append] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] number #[#1# "\303@C \nD\"\207" [vals start end append] 4] opt-ref #[#1# "\303\3048 \nD\"\207" [vals start end append 2] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] SIZEOF #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] #[#1# "\306A@\307\310\211\211\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append "class" nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] STRUCT #[#1# "\306A@\307\310\211\211\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append "struct" nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] TYPENAME #[#1# "\306A@\307\310\211\211\311\312 \304\313\f\314\315\n@\316\nA &\f-D\"\207" [vals attributes parents members type name append "class" nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] variablearg-opt-name #[#1# "\306A@@\307\211\211\310\311\312A@8\310\"\313\314\306@\3128\"\235\205 \315\316\317\314\306@\3128\"\"\320\3218@\322\3238@\324\3258@\257\f\326\327 \304\330\f\331\332\n@\333\nA &\f-D\"\207" [vals attributes parents members type name append nil :template-specifier plist-get 2 :constant-flag "const" t :typemodifiers delete :reference 4 :pointer 3 :typevar 5 apply semantic-tag :type :members :superclasses :interfaces start end] 18] #[#1# "\303@ \nD\"\207" [vals start end append] 4] var-or-fun #[#1# "\303@ \nD\"\207" [vals start end append] 4] "\\`[*]\\'" opt-starmod #[#1# "\303\3048@TC \nD\"\207" [vals start end append 2] 4] #[#1# "\302\303C D\"\207" [start end append 0] 4] STARMOD #[#1# "\303@@A@B \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] (STARMOD (CONST)) DECLMOD #[#1# "\303@@A@B \nD\"\207" [vals start end append] 4] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] (DECLMOD (EXTERN) (STATIC) (CVDECLMOD) (INLINE) (REGISTER) (FRIEND) (TYPENAME) (METADECLMOD) (VIRTUAL)) metadeclmod METADECLMOD #[#1# "\302 D!\207" [start end append] 3] #[#1# "\302 D!\207" [start end append] 3] (CVDECLMOD (CONST) (VOLATILE)) CVDECLMOD #[#1# "\303@@A@B \nD\"\207" [vals start end append] 4] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] (METADECLMOD (VIRTUAL) (MUTABLE)) "\\`[&]\\'" #[#1# "\302\303C D\"\207" [start end append 1] 4] #[#1# "\302\303C D\"\207" [start end append 0] 4] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\306A@@\307\211\211\310\311 \304\312\f\313\314\n@\315\nA &\f-D\"\207" [vals attributes parents members type name append nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\306A@@\307\211\211\310\311 \304\312\f\313\314\n@\315\nA &\f-D\"\207" [vals attributes parents members type name append nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\306A@@\307\211\211\310\311 \304\312\f\313\314\n@\315\nA &\f-D\"\207" [vals attributes parents members type name append nil apply semantic-tag :type :members :superclasses :interfaces start end] 14] builtintype #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\306@\307\310\211\311A@D\312\313 \304\314\f\315\316\n@\317\nA &\f-D\"\207" [vals attributes parents members type name append "class" nil :template-specifier apply semantic-tag :type :members :superclasses :interfaces start end] 14] namespace-symbol-for-typeformbase #[#1# "\306@@\307\310\211\311A@D\312\313 \304\314\f\315\316\n@\317\nA &\f-D\"\207" [vals attributes parents members type name append "class" nil :template-specifier apply semantic-tag :type :members :superclasses :interfaces start end] 14] #[#1# "\303@C \nD\"\207" [vals start end append] 4] (signedmod (UNSIGNED) (SIGNED)) builtintype-types (VOID) (CHAR) (WCHAR) SHORT INT #[#1# "\303@\304A@QC \nD\"\207" [vals start end append " "] 4] (SHORT) (INT) LONG #[#1# "\303@\304A@QC \nD\"\207" [vals start end append " "] 4] (FLOAT) (DOUBLE) (BOOL) DOUBLE #[#1# "\303@\304A@QC \nD\"\207" [vals start end append " "] 4] #[#1# "\303@\304A@QC \nD\"\207" [vals start end append " "] 4] ((LONG)) signedmod #[#1# "\303@@\304A@@QC \nD\"\207" [vals start end append " "] 4] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\303@@\304PC \nD\"\207" [vals start end append " int"] 4] codeblock-var-or-fun var-or-func-decl #[#1# "\303\304\3058@A@# \nD\"\207" [vals start end append semantic-c-reconstitute-token 4] 5] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\303\304A@@\305# \nD\"\207" [vals start end append semantic-c-reconstitute-token nil] 5] #[#1# "\303@ \nD\"\207" [vals start end append] 4] var-decl #[#1# "\303@ \nD\"\207" [vals start end append] 4] opt-destructor functionname opt-under-p arg-list opt-post-fcn-modifiers opt-throw opt-initializers fun-or-proto-end #[#1# "\303\3048\305A@\3068\3078\3108\3118\257@\3128\3138C\3148 \nD&\207" [vals start end append 3 function 2 6 8 7 10 4 9] 9] fun-try-end #[#1# "\303\3048\305A@\3068\307\3108\3118\257@\3128\3138C\3148 \nD&\207" [vals start end append 3 function 2 nil 7 6 9 4 8] 9] varnamelist #[#1# "\303@\304D \nD\"\207" [vals start end append variable] 4] UNDERP #[#1# "\302\303C D\"\207" [start end append nil] 4] UNDERUNDERP #[#1# "\302\303C D\"\207" [start end append nil] 4] (nil) (opt-initializers (punctuation "\\`[:]\\'" namespace-symbol semantic-list opt-initializers) (punctuation "\\`[,]\\'" namespace-symbol semantic-list opt-initializers) nil) post-fcn-modifiers #[#1# "\303@@A@B \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] (post-fcn-modifiers (REENTRANT) (CONST)) THROW #[(vals start end) "A@@A@A\306\307\211\310\311 \f\n\206 \312 $\"A\242-\207" [vals length depth nonterm end start throw-exception-list nil semantic-parse-stream semantic-lex 1] 6] (nil) throw-exception-list #[#1# "\303@@\3048B \nD\"\207" [vals start end append 2] 4] ")" #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] "(" #[#1# "\303A@ \nD\"\207" [vals start end append] 4] #[#1# "\302 D!\207" [start end append] 3] #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] "\\[.*\\]$" #[#1# "\303\304A@@BC \nD\"\207" [vals start end append 1] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] expression #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] (opt-restrict (symbol "\\<\\(__\\)?restrict\\>") nil) varname opt-restrict #[#1# "\303\3048@\3058\3068 \nD%\207" [vals start end append 2 3 4] 7] variablearg #[#1# "\306\211\3078\3108\"CA@\311\312\313\306@\3148\"\235\205 \315\316\317\313\306@\3148\"\"\320\3218@\257\322\323\f\324\325\326\n &, D\"\207" [vals attributes default-value type name start append 4 5 nil :constant-flag "const" 2 t :typemodifiers delete :reference 3 apply semantic-tag variable :type :default-value end] 13] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\306@@@A\307\310\211\311\312 \f\n\206 \313 $\"A\242-@A@D \fD\"\207" [vals length depth nonterm end start append function-pointer nil semantic-parse-stream semantic-lex 1] 7] #[#1# "\303\304C@\305\211\211E \nD$\207" [vals start end append #2# nil] 6] (varname-opt-initializer (semantic-list) (opt-assign) nil) varname-opt-initializer #[#1# "\303\211A@\3048\"\3058B \nD\"\207" [vals start end append 2 4] 5] #[#1# "\303\211A@\3048\"C \nD\"\207" [vals start end append 2] 5] #[#1# "\303@\304\3058@QC \nD\"\207" [vals start end append "::" 4] 5] #[#1# "\303@C \nD\"\207" [vals start end append] 4] #[#1# "\303@\304\3058@QC \nD\"\207" [vals start end append "::" 4] 5] #[#1# "\303@C \nD\"\207" [vals start end append] 4] namespace-opt-class #[#1# "\303@\304\3058@QC \nD\"\207" [vals start end append "::" 3] 5] #[#1# "\303@C \nD\"\207" [vals start end append] 4] #[#1# "\303@ \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] "\\`[~]\\'" #[#1# "\302\303C D\"\207" [start end append t] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] "^(" knr-arguments #[#1# "\303A@ \nD\"\207" [vals start end append] 4] #[#1# "\303\304@@@A\305\306$ \nD\"\207" [vals start end append semantic-parse-region arg-sub-list 1] 6] "^(void)$" #[#1# "\302 D!\207" [start end append] 3] knr-varnamelist #[#1# "\303@\3048B \nD\"\207" [vals start end append 2] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] knr-one-variable-decl #[#1# "\306\3078\237A@\310\311\312\306\3138!\235\205 \314\315\316\312\3138\"F\317\320\f\321\322\323\n &, D\"\207" [vals attributes default-value type name start append 3 nil :constant-flag "const" 2 t :typemodifiers delete apply semantic-tag variable :type :default-value end] 11] #[#1# "\303\211\304@!\3058\" \nD\"\207" [vals start end append semantic-expand-c-tag 2] 5] #[#1# "\303\304@! \nD\"\207" [vals start end append semantic-expand-c-tag] 4] arg-sub-list #[#1# "\303@ \nD\"\207" [vals start end append] 4] "\\`[.]\\'" #[#1# "\306\307\310\311\211\312\313\314\315\n\316 &,\f D\"\207" [attributes default-value type name start end append "..." "vararg" nil apply semantic-tag variable :type :default-value] 10] #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] operatorsym #[#1# "\302\303C D\"\207" [start end append "<<="] 4] #[#1# "\302\303C D\"\207" [start end append ">>="] 4] #[#1# "\302\303C D\"\207" [start end append "<<"] 4] #[#1# "\302\303C D\"\207" [start end append ">>"] 4] #[#1# "\302\303C D\"\207" [start end append "=="] 4] #[#1# "\302\303C D\"\207" [start end append "<="] 4] #[#1# "\302\303C D\"\207" [start end append ">="] 4] "\\`[!]\\'" #[#1# "\302\303C D\"\207" [start end append "!="] 4] "\\`[+]\\'" #[#1# "\302\303C D\"\207" [start end append "+="] 4] "\\`[-]\\'" #[#1# "\302\303C D\"\207" [start end append "-="] 4] #[#1# "\302\303C D\"\207" [start end append "*="] 4] "\\`[/]\\'" #[#1# "\302\303C D\"\207" [start end append "/="] 4] "\\`[%]\\'" #[#1# "\302\303C D\"\207" [start end append "%="] 4] #[#1# "\302\303C D\"\207" [start end append "&="] 4] "\\`[|]\\'" #[#1# "\302\303C D\"\207" [start end append "|="] 4] #[#1# "\302\303C D\"\207" [start end append "->*"] 4] #[#1# "\302\303C D\"\207" [start end append "->"] 4] "()" #[#1# "\302\303C D\"\207" [start end append "()"] 4] "\\[\\]" #[#1# "\302\303C D\"\207" [start end append "[]"] 4] (punctuation "\\`[<]\\'") (punctuation "\\`[>]\\'") (punctuation "\\`[*]\\'") #[#1# "\302\303C D\"\207" [start end append "++"] 4] (punctuation "\\`[+]\\'") #[#1# "\302\303C D\"\207" [start end append "--"] 4] (punctuation "\\`[-]\\'") #[#1# "\302\303C D\"\207" [start end append "&&"] 4] (punctuation "\\`[&]\\'") #[#1# "\302\303C D\"\207" [start end append "||"] 4] (punctuation "\\`[|]\\'") (punctuation "\\`[/]\\'") (punctuation "\\`[=]\\'") (punctuation "\\`[!]\\'") (punctuation "\\`[~]\\'") (punctuation "\\`[%]\\'") (punctuation "\\`[,]\\'") "\\`\\^\\'" #[#1# "\302\303C D\"\207" [start end append "^="] 4] ((punctuation "\\`\\^\\'")) OPERATOR #[#1# "\303A@ \nD\"\207" [vals start end append] 4] #[(vals start end) "@@@A\306\307\211\310\311 \f\n\206 \312 $\"A\242-\207" [vals length depth nonterm end start function-pointer nil semantic-parse-stream semantic-lex 1] 6] #[#1# "\303@C \nD\"\207" [vals start end append] 4] function-pointer #[#1# "\303\304\3058@PC \nD\"\207" [vals start end append "*" 2] 4] #[#1# "\303A@C \nD\"\207" [vals start end append] 4] #[#1# "\302\303C D\"\207" [start end append t] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] "^0$" #[#1# "\302\303C D\"\207" [start end append :pure-virtual-flag] 4] #[#1# "\302\303C D\"\207" [start end append nil] 4] TRY "^{" fun-try-several-catches #[#1# "\302\303C D\"\207" [start end append nil] 4] CATCH #[#1# "\302 D!\207" [start end append] 3] #[#1# "\302 D!\207" [start end append] 3] #[#1# "\302 D!\207" [start end append] 3] type-cast #[(vals start end) "@@@A\306\307\211\310\311 \f\n\206 \312 $\"A\242-\207" [vals length depth nonterm end start type-cast-list nil semantic-parse-stream semantic-lex 1] 6] (type-cast-list (open-paren typeformbase close-paren)) (opt-brackets-after-symbol (brackets-after-symbol) nil) (brackets-after-symbol (semantic-list "^(") (semantic-list "\\[.*\\]$")) (multi-stage-dereference (namespace-symbol opt-brackets-after-symbol punctuation "\\`[.]\\'" multi-stage-dereference) (namespace-symbol opt-brackets-after-symbol punctuation "\\`[-]\\'" punctuation "\\`[>]\\'" multi-stage-dereference) (namespace-symbol opt-brackets-after-symbol punctuation "\\`[.]\\'" namespace-symbol opt-brackets-after-symbol) (namespace-symbol opt-brackets-after-symbol punctuation "\\`[-]\\'" punctuation "\\`[>]\\'" namespace-symbol opt-brackets-after-symbol) (namespace-symbol brackets-after-symbol)) string-seq #[#1# "\303@A@@PC \nD\"\207" [vals start end append] 4] #[#1# "\303@C \nD\"\207" [vals start end append] 4] (expr-start (punctuation "\\`[-]\\'") (punctuation "\\`[+]\\'") (punctuation "\\`[*]\\'") (punctuation "\\`[&]\\'")) (expr-binop (punctuation "\\`[-]\\'") (punctuation "\\`[+]\\'") (punctuation "\\`[*]\\'") (punctuation "\\`[/]\\'") (punctuation "\\`[&]\\'" punctuation "\\`[&]\\'") (punctuation "\\`[&]\\'") (punctuation "\\`[|]\\'" punctuation "\\`[|]\\'") (punctuation "\\`[|]\\'") (punctuation "\\`[%]\\'")) unaryexpression "\\`[?]\\'" #[#1# "\302 D D\"\207" [start end append] 4] expr-binop #[#1# "\302 D D\"\207" [start end append] 4] #[#1# "\302 D D\"\207" [start end append] 4] ((unaryexpression (number) (multi-stage-dereference) (NEW multi-stage-dereference) (NEW builtintype-types semantic-list) (symbol) (string-seq) (type-cast expression) (semantic-list expression) (semantic-list) (expr-start expression)))] 126) (#$ . 6106)) #@28 Setup the Semantic Parser. (defalias 'semantic-c-by--install-parser #[nil "\306\307\310 \n\311\211\207" [semantic-c-by--parse-table semantic--parse-table semantic-debug-parser-source semantic-debug-parser-class semantic-debug-parser-debugger-source semantic-c-by--keyword-table "c.by" semantic-bovine-debug-parser semantic/bovine/debug (c-mode c++-mode) semantic-flex-keywords-obarray semantic-equivalent-major-modes] 2 (#$ . 35617)]) (provide 'semantic/bovine/c-by)