This is semantic.info, produced by makeinfo version 4.0 from semantic.texi. START-INFO-DIR-ENTRY * semantic: (semantic). Semantic Parsing for Emacs END-INFO-DIR-ENTRY  File: semantic.info, Node: Context Analysis, Prev: Derived Context, Up: Current Context Analisys of the current context =============================== The context parsing API is used in a context analysis library. This library provides high level routines for scanning through token databases to create lists of token associates. At it's core is a set of EIEIO classes defining a context. The context contains information about what was parsed at a given position, such as the strings there, and they type of assignment. The analysis library then searches the databases to determine the types and names available. Two high level functions which can be run interactively are: *NOTE TO SELF: Add more here* - Command: semantic-analyze-current-context position Analyze the current context at POSITION. If called interactively, display interesting information about POSITION in a separate buffer. Returns an object based on symbol `semantic-analyze-context'. - Command: semantic-analyze-possible-completions point Return a list of semantic tokens which are possible completions. Analysis is done at POINT.  File: semantic.info, Node: Tools, Next: Index, Prev: Current Context, Up: Top Tools ***** Several tools come with Semantic which would not be possible without it. In general, these tools will work with any language supported by Semantic. * Menu: * speedbar:: How to use Semantic speedbar support * imenu:: Special support for Imenu. * semanticdb:: Cache your parsed buffers between sessions. * senator:: The Semantic Navigator * document:: Document generation functions * charts:: Charting code statistics * minor modes:: Useful minor modes  File: semantic.info, Node: speedbar, Next: imenu, Prev: Tools, Up: Tools Speedbar ======== Speedbar supports the display of tags through the Semantic parser. To use this utility, add a line like this to your `.emacs' file: (add-hook 'speedbar-load-hook (lambda () (require 'semantic-sb))) or you can simply add: (require 'semantic-sb) Once installed, speedbar will use semantic to find tokens, and will display them appropriately. Tags from semantic will have additional details which can be seen, such as return type, or arguments to functions. If you use `semantic-load.el', you do not need to add the above lines in your .emacs file.  File: semantic.info, Node: imenu, Next: semanticdb, Prev: speedbar, Up: Tools Imenu support ============= There is special support for creating Imenu entries using semantic. This is a highly customizable tool which can create specialized menu systems for navigating your source file. By default, each language that wants special imenu support will set itself up for it. To setup imenu for your buffers, use this command in your `.emacs' file: (add-hook 'semantic-init-hooks (lambda () (imenu-add-to-menubar "TOKENS"))) Also supported is "which-func-mode". This usually uses imenu tags to show the current function. The semantic support for this function uses overlays, which is much faster. If you use `semantic-load.el', you do not need to add the above lines in your .emacs file. You can customize imenu with the following options: - Option: semantic-imenu-summary-function Function to use when creating items in Imenu. Some useful functions are: "semantic-abbreviate-nonterminal" "semantic-summarize-nonterminal" "semantic-prototype-nonterminal" - Option: semantic-imenu-bucketize-file Non-`nil' if tokens in a file are to be grouped into buckets. - Option: semantic-imenu-buckets-to-submenu Non-`nil' if buckets of tokens are to be turned into submenus. This option is ignored if `semantic-imenu-bucketize-file' is nil. - Option: semantic-imenu-expand-type-parts Non-`nil' if types should have submenus with parts in it. - Option: semantic-imenu-bucketize-type-parts Non-`nil' if elements of a type should be placed grouped into buckets. `Nil' means to keep them in the same order. Overridden to `nil' if `semantic-imenu-bucketize-file' is nil. - Option: semantic-imenu-sort-bucket-function Function to use when sorting tags in the buckets of functions. - Option: semantic-imenu-index-directory Non `nil' to index the entire directory for tags. Doesn't actually parse the entire directory, but displays tags for all files currently listed in the current Semantic database. This variable has no meaning if semanticdb is not active. - Option: semantic-imenu-auto-rebuild-directory-indexes If non-`nil' automatically rebuild directory index imenus. That is when a directory index imenu is updated, automatically rebuild other buffer local ones based on the same semanticdb. When adding support to a language, this variable may need to be set: - Variable: semantic-imenu-expandable-token Tokens of this token type will be given submenu with children. By default, a `type' has interesting children. In Texinfo, however, a `section' has interesting children.  File: semantic.info, Node: semanticdb, Next: senator, Prev: imenu, Up: Tools Semantic Database ================= Semanticdb is a utility which tracks your parsed files, and saves the parsed information to files. When you reload your source files, semanticdb automatically associates the file with the cached copy, saving time by not reparsing your buffer. Semanticdb also provides an API for programs to use. These functions will return token information without loading the source file into memory by checking the disk cache. To use semanticdb, add the following to your `.emacs' file: (require 'semanticdb) (global-semanticdb-minor-mode 1) If you have a tool which optionally uses the semantic database, it may be important to track if the database mode is turned on or off. - Option: semanticdb-mode-hooks Hooks run whenever "global-semanticdb-minor-mode" is run. Use "semanticdb-minor-mode-p" to determine if the mode has been turned on or off. - Option: semanticdb-persistent-path List of valid paths that semanticdb will cache tokens to. When "global-semanticdb-minor-mode" is active, token lists will be saved to disk when Emacs exits. Not all directories will have tokens that should be saved. The value should be a list of valid paths. A path can be a string, indicating a directory in which to save a variable. An element in the list can also be a symbol. Valid symbols are `never', which will disable any saving anywhere, `always', which enables saving everywhere, or `project', which enables saving in any directory that passes a list of predicates in `semantic-project-predicates'. - Option: semanticdb-project-roots List of directories, where each directory is the root of some project. All subdirectories of a root project are considered a part of one project. Values in this string can be overridden by project management programs via the `semanticdb-project-root-functions' variable. The important difference between these two is that you may put just "~" in `semanticdb-persistent-path', but you may put individual project directories into `semanticdb-project-roots' so that different database lists don't get cross referenced incorrectly. Searching --------- You can search for tokens in the database using the following functions. - Function: semanticdb-find-nonterminal-by-name name &optional databases search-parts search-includes diff-mode find-file-match Find all occurances of nonterminals with name NAME in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES, DIFF-MODE, and FIND-FILE-MATCH. - Function: semanticdb-find-nonterminal-by-name-regexp regex &optional databases search-parts search-includes diff-mode find-file-match Find all occurances of nonterminals with name matching REGEX in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES DIFF-MODE, and FIND-FILE-MATCH. - Function: semanticdb-find-nonterminal-by-type type &optional databases search-parts search-includes diff-mode find-file-match Find all nonterminals with a type of TYPE in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES DIFF-MODE, and FIND-FILE-MATCH. - Function: semanticdb-find-nonterminal-by-property property value &optional databases search-parts search-includes diff-mode find-file-match Find all nonterminals with a PROPERTY equal to VALUE in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES DIFF-MODE, and FIND-FILE-MATCH. Return a list ((DB-TABLE . TOKEN-LIST) ...). - Function: semanticdb-find-nonterminal-by-extra-spec spec &optional databases search-parts search-includes diff-mode find-file-match Find all nonterminals with a SPEC in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES DIFF-MODE, and FIND-FILE-MATCH. Return a list ((DB-TABLE . TOKEN-LIST) ...). - Function: semanticdb-find-nonterminal-by-extra-spec-value spec value &optional databases search-parts search-includes diff-mode find-file-match Find all nonterminals with a SPEC equal to VALUE in databases. See "semanticdb-find-nonterminal-by-function" for details on DATABASES, SEARCH-PARTS, SEARCH-INCLUDES DIFF-MODE, and FIND-FILE-MATCH. Return a list ((DB-TABLE . TOKEN-LIST) ...). - Function: semanticdb-find-nonterminal-by-function function &optional databases search-parts search-includes diff-mode find-file-match Find all occurances of nonterminals which match FUNCTION. Search in all DATABASES. If DATABASES is `nil', search a range of associated databases. When SEARCH-PARTS is non-`nil' the search will include children of tokens. When SEARCH-INCLUDES is non-`nil', the search will include dependency files. When DIFF-MODE is non-`nil', search databases which are of a different mode. A Mode is the `major-mode' that file was in when it was last parsed. When FIND-FILE-MATCH is non-`nil', the make sure any found token's file is in an Emacs buffer. - Function: semanticdb-file-stream file Return a list of tokens belonging to FILE. If file has database tokens available in the database, return them. If file does not have tokens available, then load the file, and create them.  File: semantic.info, Node: senator, Next: document, Prev: semanticdb, Up: Tools Semantic Navigator ================== Senator stands for SEmantic NAvigaTOR and was written by David Ponce. This library defines commands and a minor mode to navigate between semantic language tokens in the current buffer. Commands -------- The following user level commands are provided by Senator. Navigation .......... - Command: senator-next-token Move to the next token in the current buffer. - Command: senator-previous-token Move to the previous token in the current buffer. - Command: senator-jump sym Jump to the semantic symbol SYM. If called interactively and a prefix argument is supplied jump in the local type's context (see function "senator-current-type-context"). Searching ......... Searching using senator mode restricts the search only to the definition text, such as the name of the functions or variables in a given buffer. - Command: senator-isearch-toggle-semantic-mode Toggles semantic search in isearch mode. When semantic search is enabled, isearch is restricted to token names. - Command: senator-search-forward string - Command: senator-search-backward string Search forward and backward for a token matching STRING. - Command: re-search-forward regex - Command: re-search-backward regex Search forward and backward for a token matching the regular expression REGEX. - Command: word-search-forward word - word-search-backward: word Search forward and backward for a token whose name matches WORD. Completion .......... Completion in senator scans all known definitions in the local file, and uses that information to provide the completion. - Command: senator-complete-symbol Complete the current symbol under point. - Command: senator-completion-menu-keyboard-popup Popup a completion menu for the symbol at point. Copy/Paste .......... Token Copy/Paste is a high level form of the typical copy yank used by Emacs. Copying a token saves the meta-information related to the function or item the cursor is currently in. When that information is yanked into a new buffer, the form of the text created is based on the current status of the programming buffer. For example, pasting a function into a different file results in a function call template to be inserted. In a Texinfo file, a @deffn is created with documentation for that function or command. - Command: senator-copy-token Take the current token, and place it in the token ring. - Command: senator-kill-token Take the current token, place it in the token ring, and kill it. Killing the token removes the text for that token, and places it into the kill ring. Retrieve that text with `yank'. - Command: senator-yank-token Yank a token from the token ring. The form the token takes is different depending on where it is being yanked to. - Command: senator-copy-token-to-register register &optional kill-flag Copy the current token into REGISTER. Optional argument KILL-FLAG will delete the text of the token to the kill ring. For programmers, to provide specialized pasting, created an override function for `insert-foreign-token' (see *Note Settings::.) Minor Mode .......... - Command: senator-minor-mode Toggle the SEmantic NAvigaTOR key bindings in the current buffer. The following default key bindings are provided when semantic minor mode is enabled: senator-next-token senator-previous-token senator-isearch-toggle-semantic-mode senator-jump senator-complete-symbol senator-completion-menu-keyboard-popup senator-yank-token senator-kill-token senator-copy-token Customization ------------- To enable the Senator keymap in all modes that support semantic parsing, use this: (add-hook 'semantic-init-hooks 'senator-minor-mode) To customize navigation around different types of tokens, use the following variables: - Option: senator-step-at-token-ids List of token identifiers where to step. Token identifier is symbol `'variable', `'function', `'type', or other. If `nil' navigation steps at any token found. This is a buffer local variable. It can be set in a mode hook to get a specific language navigation. - Option: senator-step-at-start-end-token-ids List of token identifiers where to step at start and end. Token identifier is symbol `'variable', `'function', `'type', or other. If `nil' navigation only step at beginning of tokens. If `t' step at start and end of any token where it is allowed to step. Also, stepping at start and end of a token prevent stepping inside its children. This is a buffer local variable. It can be set in a mode hook to get a specific language navigation. To have a mode specific customization, do something like this in a hook: (add-hook 'mode-hook (lambda () (setq senator-step-at-token-ids '(function variable)) (setq senator-step-at-start-end-token-ids '(function)) )) This will cause navigation and search commands to stop only between functions and variables, and to step at start and end of functions only. Contact information for Senator ------------------------------- Any comments, suggestions, bug reports or upgrade requests are welcome. Please send them to David Ponce at david@dponce.com  File: semantic.info, Node: document, Next: charts, Prev: senator, Up: Tools Document generation =================== The document program uses semantic token streams to aid in the creation of texinfo documentation. For example, the following is a code fragment from `document.el' that comes with semantic: (defun document (&optional resetfile) "Document the function or variable the cursor is in. Optional argument RESETFILE is provided w/ universal argument. When non-nil, query for a new documentation file." ... ) While visiting `document.el', put the cursor somewhere within the function shown above. Then type `M-x document'. After asking for the texinfo file name, which in this case is `semantic.texi', this will update the texinfo documentation of the `document' function in that file. The result is that the following texinfo text will be either created or updated in `semantic.texi' file: @deffn Command document &optional resetfile Document the function or variable the cursor is in. Optional argument @var{RESETFILE} is provided w/ universal argument. When non-@code{nil}, query for a new documentation file. @end deffn Note that the function name, arguments and documentation string is put in the right place. Within the doc-string, the function arguments are marked with the @var command and the `nil' code fragment is marked with @code command. This example provides just a glimpse of what is possible with the syntactic information provided by semantic. The main entry point for the documentation generator are the following commands: - Command: document &optional resetfile Document the function or variable the cursor is in. Optional argument RESETFILE is provided w/ universal argument. When non-`nil', query for a new documentation file. - Command: document-inline Document the current function with an inline comment. - Command: document-insert-defun-comment nonterm buffer Insert mode-comment documentation about NONTERM from BUFFER. - Command: document-insert-new-file-header header Insert a new header file into this buffer. Add reference to HEADER. Used by `prototype' if this file doesn't have an introductory comment. In addition to these base documentation commands, the texinfo semantic parser includes a two convenience functions when working directly with texinfo files. - Command: semantic-texi-update-doc &optional token Update the documentation for TOKEN. If the current buffer is a texinfo file, then find the source doc, and update it. If the current buffer is a source file, then get the documentation for this item, find the existing doc in the associated manual, and update that. - Command: semantic-texi-goto-source &optional token Jump to the source for the definition in the texinfo file TOKEN. If TOKEN is `nil', it is derived from the deffn under POINT.  File: semantic.info, Node: charts, Next: minor modes, Prev: document, Up: Tools Charting Commands ================= Some commands to draw charts of statistics generated from parsing: - Command: semantic-chart-nonterminals-by-token &optional buffer-or-stream Create a bar chart representing the number of nonterminals for a token. Each bar represents how many toplevel nonterminal in BUFFER-OR-STREAM exist with a given token type. See `semantic-symbol->name-assoc-list' for tokens which will be charted. - Command: semantic-chart-database-size &optional buffer-or-stream Create a bar chart representing the size of each file in semanticdb. Each bar represents how many toplevel nonterminals in BUFFER-OR-STREAM exist in each database entry. - Command: semantic-chart-nonterminal-complexity-token &optional symbol buffer-or-stream Create a bar chart representing the complexity of some tokens. Complexity is calculated for tokens with a token of SYMBOL. Each bar represents the complexity of some nonterminal in BUFFER-OR-STREAM. Only the most complex items are charted.  File: semantic.info, Node: minor modes, Prev: charts, Up: Tools Minor Modes =========== - Command: semantic-show-dirty-mode &optional arg Minor mode for highlighting dirty tokens. With prefix argument ARG, turn on if positive, otherwise off. The minor mode can be turned on only if semantic feature is available and the current buffer was set up for parsing. Return non-`nil' if the minor mode is enabled. - Command: global-semantic-show-dirty-mode &optional arg Toggle global use of `semantic-show-dirty-mode'. If ARG is positive, enable, if it is negative, disable. If ARG is `nil', then toggle. - Option: semantic-dirty-token-face Face used to show dirty tokens in `semantic-show-dirty-token-mode'. - Command: semantic-show-unmatched-syntax-mode &optional arg Minor mode to highlight unmatched-syntax tokens. With prefix argument ARG, turn on if positive, otherwise off. The minor mode can be turned on only if semantic feature is available and the current buffer was set up for parsing. Return non-`nil' if the minor mode is enabled. - Command: global-semantic-show-unmatched-syntax-mode &optional arg Toggle global use of "semantic-show-unmatched-syntax-mode". If ARG is positive, enable, if it is negative, disable. If ARG is `nil', then toggle. - Option: semantic-unmatched-syntax-face Face used to show unmatched-syntax in. The face is used in "semantic-show-unmatched-syntax-mode". - Command: global-semantic-auto-parse-mode &optional arg Toggle global use of "semantic-auto-parse-mode". If ARG is positive, enable, if it is negative, disable. If ARG is `nil', then toggle. - Command: semantic-auto-parse-mode &optional arg Minor mode to auto parse buffer following changes. With prefix argument ARG, turn on if positive, otherwise off. The minor mode can be turned on only if semantic feature is available and the current buffer was set up for parsing. Return non-`nil' if the minor mode is enabled. - Option: semantic-auto-parse-no-working-message Non-`nil' disable display of working message during parse. - Option: semantic-auto-parse-idle-time Time in seconds of idle time before auto-reparse. This time should be short enough to ensure that auto-parse will be run as soon as Emacs is idle. - Option: semantic-auto-parse-max-buffer-size Maximum size in bytes of buffers automatically reparsed. If this value is less than or equal to 0 buffers are automatically reparsed regardless of their size.  File: semantic.info, Node: Index, Prev: Tools, Up: Top Index ***** Function Index ************** * Menu: * bovinate: Compiling. * bovinate-debug: Debugging. * document: document. * document-inline: document. * document-insert-defun-comment: document. * document-insert-new-file-header: document. * global-semantic-auto-parse-mode: minor modes. * global-semantic-show-dirty-mode: minor modes. * global-semantic-show-unmatched-syntax-mode: minor modes. * re-search-backward: senator. * re-search-forward: senator. * semantic-abbreviate-nonterminal: Token->Text. * semantic-analyze-current-context: Context Analysis. * semantic-analyze-possible-completions: Context Analysis. * semantic-auto-parse-idle-time: minor modes. * semantic-auto-parse-max-buffer-size: minor modes. * semantic-auto-parse-mode: minor modes. * semantic-auto-parse-no-working-message: minor modes. * semantic-beginning-of-command <1>: Blocks. * semantic-beginning-of-command: Local Context. * semantic-beginning-of-context <1>: Blocks. * semantic-beginning-of-context: Local Context. * semantic-bovinate-debug-set-table: Debugging. * semantic-bovinate-toplevel: Compiling. * semantic-bovine-toplevel-full-reparse-needed-p: Parser Hooks. * semantic-bovine-toplevel-partial-reparse-needed-p: Parser Hooks. * semantic-chart-database-size: charts. * semantic-chart-nonterminal-complexity-token: charts. * semantic-chart-nonterminals-by-token: charts. * semantic-clear-toplevel-cache: Compiling. * semantic-concise-prototype-nonterminal: Token->Text. * semantic-ctxt-current-argument <1>: Derived Context. * semantic-ctxt-current-argument: Local Context. * semantic-ctxt-current-assignment <1>: Derived Context. * semantic-ctxt-current-assignment: Local Context. * semantic-ctxt-current-function <1>: Derived Context. * semantic-ctxt-current-function: Local Context. * semantic-ctxt-current-symbol <1>: Derived Context. * semantic-ctxt-current-symbol: Local Context. * semantic-ctxt-scoped-types: Local Context. * semantic-current-nonterminal: Nonterminal Streams. * semantic-current-nonterminal-parent: Nonterminal Streams. * semantic-dirty-token-face: minor modes. * semantic-end-of-command <1>: Blocks. * semantic-end-of-command: Local Context. * semantic-end-of-context <1>: Blocks. * semantic-end-of-context: Local Context. * semantic-find-dependency: Token Details. * semantic-find-documentation: Token Details. * semantic-find-innermost-nonterminal-by-position: Nonterminal Streams. * semantic-find-nonterminal: Token Details. * semantic-find-nonterminal-by-extra-spec: Nonterminal Streams. * semantic-find-nonterminal-by-extra-spec-value: Nonterminal Streams. * semantic-find-nonterminal-by-function: Nonterminal Streams. * semantic-find-nonterminal-by-function-first-match: Nonterminal Streams. * semantic-find-nonterminal-by-name: Nonterminal Streams. * semantic-find-nonterminal-by-overlay: Nonterminal Streams. * semantic-find-nonterminal-by-overlay-in-region: Nonterminal Streams. * semantic-find-nonterminal-by-position: Nonterminal Streams. * semantic-find-nonterminal-by-property: Nonterminal Streams. * semantic-find-nonterminal-by-token: Nonterminal Streams. * semantic-find-nonterminal-by-type: Nonterminal Streams. * semantic-find-nonterminal-standard: Nonterminal Streams. * semantic-flex: Lexing. * semantic-flex-keyword-get: Keywords. * semantic-flex-keyword-p: Keywords. * semantic-flex-keyword-put: Keywords. * semantic-flex-keywords: Keywords. * semantic-flex-map-keywords: Keywords. * semantic-get-all-local-variables <1>: Local Variables. * semantic-get-all-local-variables: Local Context. * semantic-get-local-arguments <1>: Local Variables. * semantic-get-local-arguments: Local Context. * semantic-get-local-variables <1>: Local Variables. * semantic-get-local-variables: Local Context. * semantic-imenu-auto-rebuild-directory-indexes: imenu. * semantic-imenu-bucketize-file: imenu. * semantic-imenu-bucketize-type-parts: imenu. * semantic-imenu-buckets-to-submenu: imenu. * semantic-imenu-expand-type-parts: imenu. * semantic-imenu-index-directory: imenu. * semantic-imenu-sort-bucket-function: imenu. * semantic-imenu-summary-function: imenu. * semantic-name-nonterminal: Token->Text. * semantic-nonterminal-children: Token Details. * semantic-nonterminal-protection: Token Details. * semantic-prototype-file: Token->Text. * semantic-prototype-nonterminal: Token->Text. * semantic-read-function: Nonterminal Completion. * semantic-read-symbol: Nonterminal Completion. * semantic-read-type: Nonterminal Completion. * semantic-read-variable: Nonterminal Completion. * semantic-recursive-find-nonterminal-by-name: Nonterminal Streams. * semantic-show-dirty-mode: minor modes. * semantic-show-unmatched-syntax-mode: minor modes. * semantic-summarize-nonterminal: Token->Text. * semantic-texi-goto-source: document. * semantic-texi-update-doc: document. * semantic-token-docstring: Token Queries. * semantic-token-end: Token Queries. * semantic-token-extent: Token Queries. * semantic-token-extra-spec: Token Queries. * semantic-token-function-args: Token Queries. * semantic-token-function-destructor: Token Queries. * semantic-token-function-extra-spec: Token Queries. * semantic-token-function-extra-specs: Token Queries. * semantic-token-function-modifiers: Token Queries. * semantic-token-function-parent: Token Queries. * semantic-token-function-throws: Token Queries. * semantic-token-get: Token Queries. * semantic-token-include-system: Token Queries. * semantic-token-name: Token Queries. * semantic-token-overlay: Token Queries. * semantic-token-put: Token Queries. * semantic-token-start: Token Queries. * semantic-token-token: Token Queries. * semantic-token-type: Token Queries. * semantic-token-type-extra-spec: Token Queries. * semantic-token-type-extra-specs: Token Queries. * semantic-token-type-modifiers: Token Queries. * semantic-token-type-parent: Token Queries. * semantic-token-type-parent-implement: Token Queries. * semantic-token-type-parent-superclass: Token Queries. * semantic-token-type-parts: Token Queries. * semantic-token-variable-const: Token Queries. * semantic-token-variable-default: Token Queries. * semantic-token-variable-extra-spec: Token Queries. * semantic-token-variable-extra-specs: Token Queries. * semantic-token-variable-modifiers: Token Queries. * semantic-uml-abbreviate-nonterminal: Token->Text. * semantic-unmatched-syntax-face: minor modes. * semantic-up-context <1>: Blocks. * semantic-up-context: Local Context. * semanticdb-file-stream: semanticdb. * semanticdb-find-nonterminal-by-extra-spec: semanticdb. * semanticdb-find-nonterminal-by-extra-spec-value: semanticdb. * semanticdb-find-nonterminal-by-function: semanticdb. * semanticdb-find-nonterminal-by-name: semanticdb. * semanticdb-find-nonterminal-by-name-regexp: semanticdb. * semanticdb-find-nonterminal-by-property: semanticdb. * semanticdb-find-nonterminal-by-type: semanticdb. * semanticdb-mode-hooks: semanticdb. * semanticdb-persistent-path: semanticdb. * semanticdb-project-roots: semanticdb. * senator-complete-symbol: senator. * senator-completion-menu-keyboard-popup: senator. * senator-copy-token: senator. * senator-copy-token-to-register: senator. * senator-isearch-toggle-semantic-mode: senator. * senator-jump: senator. * senator-kill-token: senator. * senator-minor-mode: senator. * senator-next-token: senator. * senator-previous-token: senator. * senator-search-backward: senator. * senator-search-forward: senator. * senator-step-at-start-end-token-ids: senator. * senator-step-at-token-ids: senator. * senator-yank-token: senator. * word: senator. * word-search-forward: senator.