%PDF- %PDF-
Mini Shell

Mini Shell

Direktori : /usr/local/share/emacs/27.2/lisp/cedet/srecode/
Upload File :
Create Path :
Current File : //usr/local/share/emacs/27.2/lisp/cedet/srecode/compile.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.

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


(byte-code "\300\301!\210\300\302!\210\300\303!\210\300\304!\210\300\305!\210\300\306!\210\307\310\311\312!\"\210\307\313\314\312!\"\210\307\315\313\"\210\316\315\317\320#\210\321\312\322\313#\323\312\324\325\326$\207" [require semantic eieio cl-generic eieio-base srecode/table srecode/dictionary defalias srecode-template-p eieio-make-class-predicate srecode-template srecode-template--eieio-childp eieio-make-child-predicate srecode-template-child-p make-obsolete "use (cl-typep ... \\='srecode-template) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (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.")) (:documentation "Class defines storage for semantic recoder templates.")] 6)
#@55 Create a new object of class type `srecode-template'.
(defalias 'srecode-template #[(&rest slots) "\301\302\303#\207" [slots apply make-instance srecode-template] 4 (#$ . 2128)])
(byte-code "\300\301\302\303#\300\207" [function-put srecode-template compiler-macro srecode-template--anon-cmacro] 4)
(defalias 'srecode-template--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 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 "\300\301\302\"\203\303\304\305\300\301\302\"G\"!\205\306\301\302\307#\207\310\311!\207" [eieio-oref-default srecode-template active y-or-n-p format "%d active templates.  Flush? " eieio-oset-default nil message "No active templates to flush."] 6 (#$ . 2651) nil])
(byte-code "\300\301\302\303!\"\210\300\304\305\303!\"\210\300\306\304\"\210\307\306\310\311#\210\312\303\313\304#\314\303\315\316\317$\207" [defalias srecode-template-inserter-p eieio-make-class-predicate srecode-template-inserter srecode-template-inserter--eieio-childp eieio-make-child-predicate srecode-template-inserter-child-p make-obsolete "use (cl-typep ... \\='srecode-template-inserter) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal (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.")) (:documentation "This represents an item to be inserted via a template macro.\nPlain text strings are not handled via this baseclass." :abstract t)] 6)
#@69 You cannot create a new object of type `srecode-template-inserter'.
(defalias 'srecode-template-inserter #[(&rest _) "\300\301!\207" [error "Class srecode-template-inserter is abstract"] 2 (#$ . 3904)])
(byte-code "\300\301\302\303\302\304%\210\300\305\302\306\302\307%\210\300\310\302\311\302\312%\210\313\314\315\316!\"\210\313\317\320\316!\"\210\313\321\317\"\210\322\321\323\324#\210\325\316\326\317#\327\316\302\330\331$\207" [cl-generic-define-method srecode-parse-input nil ((_ins srecode-template-inserter) _tag input _STATE) #[(_ins _tag input _STATE) "\207" [input] 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."] srecode-match-end ((_ins srecode-template-inserter) _name) #[(_ins _name) "\300\207" [nil] 1 "For the template inserter INS, do I end a section called NAME?"] srecode-inserter-apply-state ((_ins srecode-template-inserter) _STATE) #[(_ins _STATE) "\300\207" [nil] 1 "For the template inserter INS, apply information from STATE."] defalias srecode-compile-state-p eieio-make-class-predicate srecode-compile-state srecode-compile-state--eieio-childp eieio-make-child-predicate srecode-compile-state-child-p make-obsolete "use (cl-typep ... \\='srecode-compile-state) instead" "25.1" define-symbol-prop cl-deftype-satisfies eieio-defclass-internal ((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.")) (:documentation "Current state of the compile.")] 6)
#@60 Create a new object of class type `srecode-compile-state'.
(defalias 'srecode-compile-state #[(&rest slots) "\301\302\303#\207" [slots apply make-instance srecode-compile-state] 4 (#$ . 5630)])
(byte-code "\300\301\302\303#\300\207" [function-put srecode-compile-state compiler-macro srecode-compile-state--anon-cmacro] 4)
(defalias 'srecode-compile-state--anon-cmacro #[(whole &rest slots) "@;\204	\207\302\303\304@	@#	@\305@DABB\"\207" [slots whole macroexp--warn-and-return format "Obsolete name arg %S to constructor %S" identity] 5])
(cl-generic-define-method 'srecode-compile-add-prompt nil '((state srecode-compile-state) prompttag) nil #[(state prompttag) "\306\n\211@)\307	\310\"\"\307	\310\"\211\203>\307	\310\"\311\203=@@\n@\230\2044@\fBA\211\204$)	\f\312\f\310\n\fB#,\207" [state #:object prompttag tag newprompts match assoc slot-value prompts nil eieio-oset tmp #:v] 6 "Add PROMPTTAG to the current list of prompts."])
#@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 (#$ . 6601)])
#@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!\203\314\315\316\317 !\"\210\320 \321\211\211\322\316\317 !!\321\211\211\211\211\211<=>?@\211A\203SA@\211@\211@A@)\211?\323\267\202D\324=\325@\211@@)#\210\202J\326=@\"\210\202J@\211@@)B@\211@\327C@\330@@\331@8)C\"+\211D@EDG\332U\203E;\203B\333\230\203\263\334E!<\2022B\335\230\203\305\324=\336E#\210\2022B\337\230\203\327\324=\340E#\210\2022B\341\230\203\346\342E!\2022B\343\230\203\365\342E!\2022B\344\230\203\342E!\2022B\345\230\203E\2022BEB	B\2022\310\346!\210\347B\350D#FBFB	B)+\202J\351@=\">B>\202J\306\352?\"\210AA\211A\204@\312\313!\203b\314\353>G<#\210<\204k\306\354!\210\204\306\355\356\317 !!\355\356\357\360!!!<\361=\203\207\362\202\210\363GHI\364\365HPI\"\203\241\366G\\\202\263\n;\203\256\367G\\\202\263\370G\\\312\313!\203\302\314\371\316\317 !#\210+\202\325\312\313!\203\325\314\372\316\317 !#\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 called-interactively-p interactive message "Compiling template %s..." file-name-nondirectory buffer-file-name semantic-fetch-tags nil srecode-compile-state #s(hash-table size 4 test eq rehash-size 1.5 rehash-threshold 0.8125 purecopy t data (context 84 prompt 100 variable 110 function 310)) eieio-oset context srecode-compile-add-prompt :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 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 (#$ . 6947) 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 (#$ . 9258)])
#@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 (#$ . 10226)])
#@369 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.
(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\373\315	\316\211\224#\315	\316\224\316\225#\316\225 \314	 #!\306\211\"#\306$G\316V\203ZB\317\230\203\205\320\321\317\f\322\306\323\324!&%\315	 \"\211G\316V\203\201%B)\202\366!\203\217\316\224\202\231\325\326&\211&@)\"\"\316\225#\"\204\262\325\327&\211&@)\"\210\202\305\" X\203\305\325\330&\211&@)\"\210\315	 \"#$\315	#\"\331$\f\"%\332%'\"\203\347%%B\333%&	\f$).\202'\203\325\334'\"\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 substring 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 new-inserter tag end-name] 10 (#$ . 10560)])
#@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\315\"\202*\307\316\317	\"\211\203<\314	\306\211\224#\202=	\205G\314	\306\225\"\320\f\n\321
%-\207" [txt name key junk namepart secondname 0 nil 65 90 97 122 substring 1 string-match ":" srecode-compile-inserter :secondname STATE] 7 (#$ . 12089)])
#@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!\312\204C\f\203C\313\f\310\f@!\"\314\f@!\204=\315\f@\300\"\232\203=\306\f@	\n#\316
\"\210\fA\202\204L\317\320\"\210*\207" [key name props new classes STATE apply srecode-template-inserter-variable eieio-class-children srecode-template-inserter nil append class-abstract-p eieio-oref-default srecode-inserter-apply-state error "SRECODE: Unknown macro code %S"] 4 (#$ . 12560)])
#@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	@\305\"\211\315\fQ \316 	@#\210\317
\n\"\211!\204H\306\307\310\311\320$!\316
!\n#\210\316\f	@!#\210)	A+\202\";\203d\321\"!\"\322#\323 \324\237\325\326\n\327$\330#\331%\332&\333'\334\"&\313\300\"\211(\205\244\335(@\336#\210(A\211(\204\221\337-\207" [templates lp contexthash namehash objname context make-hash-table :test equal :size 10 eieio-oref object-name ":" 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 tmpl] 22 (#$ . 13324)])
(cl-generic-define-method 'srecode-dump nil '((tmp srecode-template)) nil #[(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 \"" eieio-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 "Dump the contents of the SRecode template tmp."])
#@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) "\304	\205M\305\n!\210\306!\210\305\307!\210	@;\203 \306	@!\210\202<	@\310!)\2033\311	@\n\"\210\202<\305\312!\210\306	@!\210	AT	\203\305\313!\210\202)\207" [i code indent #1=#:val 1 princ prin1 ") " srecode-template-inserter--eieio-childp srecode-dump "Unknown Code: " "\n"] 3 (#$ . 15396)])
(byte-code "\300\301\302\303\302\304%\210\305\306!\207" [cl-generic-define-method srecode-dump nil ((ins srecode-template-inserter) _indent) #[(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	\320\225\"\2028	\304!\210+\304\321!\207" [ins oc junk on princ "INS: \"" eieio-object-name-string eieio-oref secondname "\" : \"" "\" type \"" symbol-name eieio-object-class string-match "srecode-template-inserter-" substring 0 "\""] 5 "Dump the state of the SRecode template inserter INS."] provide srecode/compile] 6)

Zerion Mini Shell 1.0