MMCT TEAM
Server IP : 111.118.215.189  /  Your IP : 18.217.207.112
Web Server : Apache
System : Linux md-in-83.webhostbox.net 4.19.286-203.ELK.el7.x86_64 #1 SMP Wed Jun 14 04:33:55 CDT 2023 x86_64
User : a1673wkz ( 2475)
PHP Version : 8.2.25
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON
Directory (0755) :  /usr/share/emacs/24.3/lisp/cedet/srecode/

[  Home  ][  C0mmand  ][  Upload File  ]

Current File : //usr/share/emacs/24.3/lisp/cedet/srecode/compile.elc
;ELC
;;; Compiled by mockbuild@buildfarm06-new.corp.cloudlinux.com on Fri Oct 11 10:11:29 2024
;;; from file /builddir/build/BUILD/emacs-24.3/lisp/cedet/srecode/compile.el
;;; in Emacs version 24.3.1
;;; 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.

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\306\307\310\311\312$\207" [require semantic eieio eieio-base srecode/table srecode/dictionary eieio-defclass srecode-template (eieio-named) ((context :initarg :context :initform nil :documentation "Context this template belongs to.") (args :initarg :args :documentation "List of arguments that this template requires.") (code :initarg :code :documentation "Compiled text from the template.") (dictionary :initarg :dictionary :type (or null srecode-dictionary) :documentation "List of section dictionaries.\nThe compiled template can contain lists of section dictionaries,\nor values that are expected to be passed down into different\nsection macros.  The template section dictionaries are merged in with\nany incoming dictionaries values.") (binding :initarg :binding :documentation "Preferred keybinding for this template in `srecode-minor-mode-map'.") (active :allocation :class :initform nil :documentation "During template insertion, this is the stack of active templates.\nThe top-most template is the 'active' template.  Use the accessor methods\nfor push, pop, and peek for the active template.") (table :initarg :table :documentation "The table this template lives in.")) ("Class defines storage for semantic recoder templates.")] 5)
#@120 Flush the active template storage.
Useful if something goes wrong in SRecode, and the active template
stack is broken.
(defalias 'srecode-flush-active-templates #[nil "\301\302\"\203\303\304\305\301\302\"G\"!\205\306\302\307#\207\310\311!\207" [srecode-template eieio-oref active y-or-n-p format "%d active templates.  Flush? " eieio-oset-default nil message "No active templates to flush."] 6 (#$ . 1886) nil])
(byte-code "\300\301\302\303\304$\210\305\306\307\306\310\"\"\210\311\306\312\301\313$\210\305\314\307\314\315\"\"\210\311\314\312\301\316$\210\305\317\307\317\320\"\"\210\311\317\312\301\321$\210\305\322\307\322\323\"\"\210\311\322\324\301\325$\210\300\326\312\327\330$\210\305\331\307\331\332\"\"\210\311\331\312\326\333$\207" [eieio-defclass srecode-template-inserter (eieio-named) ((secondname :initarg :secondname :type (or null string) :documentation "If there is a colon in the inserter's name, it represents\nadditional static argument data.")) ("This represents an item to be inserted via a template macro.\nPlain text strings are not handled via this baseclass." :abstract t) eieio--defalias srecode-parse-input eieio--defgeneric-init-form #1="For the template inserter INS, parse INPUT.\nShorten input only by the amount needed.\nReturn the remains of INPUT.\nSTATE is the current compilation state." eieio--defmethod nil #[(ins tag input STATE) "\207" [input] 1 #1#] srecode-match-end #2="For the template inserter INS, do I end a section called NAME?" #[(ins name) "\300\207" [nil] 1 #2#] srecode-inserter-apply-state #3="For the template inserter INS, apply information from STATE." #[(ins STATE) "\300\207" [nil] 1 #3#] srecode-inserter-prin-example #4="Insert an example using inserter INS.\nArguments ESCAPE-START and ESCAPE-END are the current escape sequences in use." :STATIC #[(ins escape-start escape-end) "\303\304!\210\303!\210\305	\306\"\203 \307	\306\"\203 \303\310\311\307	\306\"\"!\210\303\312!\210\303\n!\210\313 \207" [escape-start ins escape-end princ "   " slot-exists-p key eieio-oref format "%c" "VARNAME" terpri] 6 #4#] srecode-compile-state ((context :initform "declaration" :documentation "The active context.") (prompts :initform nil :documentation "The active prompts.") (escape_start :initform "{{" :documentation "The starting escape sequence.") (escape_end :initform "}}" :documentation "The ending escape sequence.")) ("Current state of the compile.") srecode-compile-add-prompt #5="Add PROMPTTAG to the current list of prompts." #[(state prompttag) "\306\211@)\307\n\310\"\"\307\n\310\"\211\2036\307\n\310\"\311
\2035
@@@\230\204.
@B
A\211\204 )\n\312\310B#+\207" [prompttag tag state newprompts match tmp assoc slot-value prompts nil eieio-oset #:v] 6 #5#]] 5)
#@44 Compile the templates from the file FNAME.
(defalias 'srecode-compile-file #[(fname) "\303!\212	\204\304!q\210\202	q\210\n\204\305 \210\306 \210	?\205&\307p!*\207" [fname peb semantic-new-buffer-fcn-was-run get-file-buffer semantic-find-file-noselect semantic-new-buffer-fcn srecode-compile-templates kill-buffer] 2 (#$ . 4641)])
#@69 Compile a semantic recode template file into a mode-local variable.
(defalias 'srecode-compile-templates #[nil "\204\306\307!\210\310\311!\210\312\313\314\315 !\"\210\316 \317\211\211\320\314\315 !!\317\211\211\211\211\211<=>?@\211A\203bA@\211@\211@A@)\211?\321=\203^\322=\321@\211@@)#\210\202Y?\323=\203o\324=@\"\210\202Y?\325=\203>@\211@@)B@\211@\326C@\327@@\330@8)C\"+\211D@EDG\331U\203$E;\203$B\332\230\203\273\333E!<\202:B\334\230\203\315\322=\335E#\210\202:B\336\230\203\337\322=\337E#\210\202:B\340\230\203\356\341E!\202:B\342\230\203\375\341E!\202:B\343\230\203\f\341E!\202:B\344\230\203E\202:BEB	B\202:\310\345!\210\346B\347D#FBFB	B)+\202Y?\350=\203S\351@=\">B>\202Y\306\352?\"\210AA\211A\204:\312\353>G<#\210<\204t\306\354!\210\204\311\355\356\315 !!\355\356\357\360!!!<\361=\203\220\362\202\221\363GHI\364\365HPI\"\203\252\366G\\\202\274\n;\203\267\367G\\\202\274\370G\\\312\371\314\315 !#\210+\202\322\312\372\314\315 !#\210\373><
\f\n	&.\207" [semantic-new-buffer-fcn-was-run vars project priority framework application error "You have to activate semantic-mode to compile SRecode templates." require srecode/insert message "Compiling template %s..." file-name-nondirectory buffer-file-name semantic-fetch-tags nil srecode-compile-state context eieio-oset prompt srecode-compile-add-prompt variable :default-value plist-get 2 1 "mode" intern "escape_start" escape_start "escape_end" escape_end "application" read "framework" "priority" "project" srecode/dictionary srecode-dictionary-compound-variable :value function srecode-compile-one-template-tag "Unknown TAG class %s" "%d templates compiled for %s" "You must specify a MODE for your templates" expand-file-name file-name-directory locate-library "srecode" default 0 10 string-match "^" 30 50 80 "Templates %s has estimated priority of %d" "Compiling templates %s priority %d... done!" srecode-compile-template-table mode STATE table class tag tags name attribute value firstvalue cv defaultdelta sd d] 12 (#$ . 4987) nil])
#@142 Compile a template tag TAG into a srecode template object.
STATE is the current compile state as an object of class
`srecode-compile-state'.
(defalias 'srecode-compile-one-template-tag #[(tag state) "\306\301\"\307\n\211\310\311\n\312\n8)\"*#A\n\211\313\311\n\312\n8)\"+\n\314\311\n\312\n8)\"*\n\315\311\n\312\n8)\"*\211\205S\316\" \317!
\317\"\211#\203\236#@\"\320\"!\211$!B!$\321=\203\224\322\323\324\325\326\317\327\330&C\f\323\324\325\326\317\327\331&C#)#A\211#\204b*\332\n\211@)\333	\334!\237\335 \314\310\f&.\207" [state context tag attribute code args eieio-oref srecode-compile-split-code :code plist-get 2 :arguments :binding :dictionaries srecode-create-dictionaries-from-tags nil intern :blank append srecode-compile-inserter "BLANK" "
" :secondname :where begin end srecode-template :context :args :dictionary binding dict-tags root-dict addargs arg --dolist-tail-- symbol] 13 (#$ . 7124)])
#@121 Examine COMP to decide if the upcoming newline should be hard.
It is hard if the previous inserter is a newline object.
(defalias 'srecode-compile-do-hard-newline-p #[(comp) "\203@;\203A\211\204?\206\301\302!\210\303@!\207" [comp require srecode/insert srecode-template-inserter-newline-child-p] 3 (#$ . 8092)])
#@416 Split the code for TAG into something templatable.
STR is the string of code from TAG to split.
STATE is the current compile state.
ESCAPE_START and ESCAPE_END are regexps that indicate the beginning
escape character, and end escape character pattern for expandable
macro names.
Optional argument END-NAME specifies the name of a token upon which
parsing should stop.
If END-NAME is specified, and the input string
(defalias 'srecode-compile-split-code #[(tag str STATE &optional end-name) "\306\211\307\310\311\f\312\"!P\310\311\f\313\"!	\203\n\204\314
	\"\203\376	\315\211\224O	\315\224\315\225O\315\225\314	# \306\211!\"\306\211#$G\315V\203[B\316\230\203\206\317\320\316\f\321\306\322\323!&%	\306O\211G\315V\203\202%B)\202\371 \203\220\315\224\202\232\324\325&\211&@)\"!\315\225\"!\204\263\324\326&\211&@)\"\210\202\306!X\203\306\324\327&\211&@)\"\210	!O#\306$	\"\306O\330#\f\"%\331%'\"\203\352%%B\332%&	\f$).\202'\203	\324\333'\"\210	B\306\211\204	\237-B\207" [str what end-token comp STATE regex nil "\n\\|" regexp-quote eieio-oref escape_start escape_end string-match 0 "\n" srecode-compile-inserter "INDENT" :secondname :hard srecode-compile-do-hard-newline-p error "Could not find end escape for %s" "No matching escape end for %s" "Stray end escape for %s" srecode-compile-parse-inserter srecode-match-end srecode-parse-input "Unmatched section end %s" regexend prefix match namestart junk end tail name key new-inserter tag end-name] 10 (#$ . 8425)])
#@75 Parse the inserter TXT with the current STATE.
Return an inserter object.
(defalias 'srecode-compile-parse-inserter #[(txt STATE) "\306H\307\211\310W\204\n\311V\203&\n\312W\204\n\313V\203&\314\307O\202*\307\315\316	\"\211\203;	\306\211\224O\202<	\205F	\306\225\307O\317\f\n\320
%-\207" [txt name key junk namepart secondname 0 nil 65 90 97 122 1 string-match ":" srecode-compile-inserter :secondname STATE] 7 (#$ . 9990)])
#@262 Create an srecode inserter object for some macro NAME.
KEY indicates a single character key representing a type
of inserter to create.
STATE is the current compile state.
PROPS are additional properties that might need to be passed
to the inserter constructor.
(defalias 'srecode-compile-inserter #[(name key STATE &rest props) "\204\n\306\307	\n#\207\310!\311\f\204K
\203K\312
\310
@!\"\313
@\314NH>A\242\204E\315
@\300\"\232\203E\306
@	\n#\316\f\"\210
A\202\f\204T\317\320\"\210\f*\207" [key name props srecode-template-inserter new classes apply srecode-template-inserter-variable class-children nil append :abstract eieio-class-definition eieio-oref srecode-inserter-apply-state error "SRECODE: Unknown macro code %S" class-options STATE] 4 (#$ . 10444)])
#@467 Compile a list of TEMPLATES into an semantic recode table.
The table being compiled is for MODE, or the string "default".
PRIORITY is a numerical value that indicates this tables location
in an ordered search.
APPLICATION is the name of the application these templates belong to.
FRAMEWORK is the name of the framework these templates belong to.
PROJECT is a directory name which these templates scope to.
A list of defined variables VARS provides a variable table.
(defalias 'srecode-compile-template-table #[(templates mode priority application framework project vars) "\306\307\310\311G$\306\307\310\311\312$	\203X\313	@\314\"\313	@\315\"\211\316\fQ!\317!	@#\210\320
\n\"\211\"\204H\306\307\310\311\321$\"\317
\"\n#\210\317\f	@\"#\210)	A+\202#;\203d\322#!#\323$\324 \325\237\326\327\n\330%\331$\332&\333'\334(\335#&)\313)\300\"\211*\205\244\336*@\337)#\210*A\211*\204\221\340-\207" [templates lp contexthash namehash objname context make-hash-table :test equal :size 10 eieio-oref :object-name :context ":" puthash gethash 20 expand-file-name srecode-mode-table-new buffer-file-name :templates :namehash :contexthash :variables :major-mode :priority :application :framework :project eieio-oset :table nil globalname hs project mode vars priority application framework table tmpl] 22 (#$ . 11232)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\207" [eieio--defalias srecode-dump eieio--defgeneric-init-form #1="Dump the contents of the SRecode template tmp." eieio--defmethod nil srecode-template #[(tmp) "\301\302!\210\301\303!!\210\301\304!\210\301\305\306\"!\210\301\307!\210\305\310\"\203/\301\311!\210\312\305\310\"!\210\301\307!\210\305\313\"\203B\301\314!\210\315\305\313\"\316\"\210\317\320\"\203_\305\320\"\203_\301\321!\210\312\305\320\"!\210\301\307!\210\301\322!\210\323\305\324\"\325\"\210\301\326!\207" [tmp princ "== Template \"" object-name-string "\" in context " eieio-oref context "\n" args "   Arguments: " prin1 dictionary "   Section Dictionaries:\n" srecode-dump 4 slot-boundp binding "   Binding: " "   Compiled Codes:\n" srecode-dump-code-list code "    " "\n\n"] 4 #1#]] 5)
#@123 Dump the CODE from a template code list to standard output.
Argument INDENT specifies the indentation level for the list.
(defalias 'srecode-dump-code-list #[(code indent) "\303	\205J\304\n!\210\305!\210\304\306!\210	@;\203 \305	@!\210\2029\307	@!\2030\310	@\n\"\210\2029\304\311!\210\305	@!\210	AT	\203\304\312!\210\202)\207" [i code indent 1 princ prin1 ") " srecode-template-inserter-child-p srecode-dump "Unknown Code: " "\n"] 3 (#$ . 13414)])
(byte-code "\300\301\302\301\303\"\"\210\304\301\305\306\307$\210\310\311!\207" [eieio--defalias srecode-dump eieio--defgeneric-init-form #1="Dump the state of the SRecode template inserter INS." eieio--defmethod nil srecode-template-inserter #[(ins indent) "\304\305!\210\304\306!!\210\307\310\"\203\304\311!\210\304\307\310\"!\210\304\312!\210\313\314!!\315\316	\"\211\2037	\317\225\320O\2028	\304!\210+\304\321!\207" [ins oc junk on princ "INS: \"" object-name-string eieio-oref :secondname "\" : \"" "\" type \"" symbol-name object-class string-match "srecode-template-inserter-" 0 nil "\""] 5 #1#] provide srecode/compile] 5)

MMCT - 2023