<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.102.67.214</id>
	<title>WikEmacs - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wikemacs.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=129.102.67.214"/>
	<link rel="alternate" type="text/html" href="https://wikemacs.org/wiki/Special:Contributions/129.102.67.214"/>
	<updated>2026-04-10T02:35:26Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.14</generator>
	<entry>
		<id>https://wikemacs.org/index.php?title=Semantic&amp;diff=47159</id>
		<title>Semantic</title>
		<link rel="alternate" type="text/html" href="https://wikemacs.org/index.php?title=Semantic&amp;diff=47159"/>
		<updated>2015-11-06T07:57:22Z</updated>

		<summary type="html">&lt;p&gt;129.102.67.214: /* Project Pages */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Package&lt;br /&gt;
|name=Semantic&lt;br /&gt;
|description=infrastructure for parser based text analysis&lt;br /&gt;
|author=David Ponce&lt;br /&gt;
|maintainer=David Ponce&lt;br /&gt;
|source=http://cedet.sourceforge.net/semantic.shtml&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
'''Semantic''' is an infrastructure for parser based text analysis in Emacs. It is a lexer, parser-generator, and parser. It is written in Emacs Lisp and is customized to the way Emacs thinks about language files, and is optimized to use Emacs' parsing capabilities.&lt;br /&gt;
&lt;br /&gt;
Semantic's goal is to provide an intermediate API for authors of language agnostic tools who want to deal with languages in a generic way. It also provides a simple way for Mode Authors who are experts in their language, to provide a parser for those tool authors, without knowing anything about those tools.&lt;br /&gt;
&lt;br /&gt;
== Parser Infrastructure ==&lt;br /&gt;
&lt;br /&gt;
=== Lexical Analyzer &amp;amp; Preprocessor ===&lt;br /&gt;
Converts a language into a token stream. Preprocessor support with lexical macro replacement (C/C++).&lt;br /&gt;
=== Parser ===&lt;br /&gt;
Converts a lexical token stream into a table of tags defined by the language.&lt;br /&gt;
=== Parser Generator with Bison ===&lt;br /&gt;
David Ponce has ported Bison to Emacs Lisp. New languages can be supported via the wisent parser.&lt;br /&gt;
=== Language Parsers ===&lt;br /&gt;
Parsers that have already been implemented:&lt;br /&gt;
Emacs Lisp, Java, C/C++, C#, Python, Erlang, awk, Makefile, Scheme, HTML, Texinfo, Javascript, dot.&lt;br /&gt;
Also: Semantic's own grammar format (.by or .wy)&lt;br /&gt;
&lt;br /&gt;
=== Incremental parser ===&lt;br /&gt;
Reparses minimal parts of a buffer as you edit.&lt;br /&gt;
=== Idle service manager ===&lt;br /&gt;
Reparses buffers in idle time, and also call other services.&lt;br /&gt;
&lt;br /&gt;
== Coding Tools ==&lt;br /&gt;
&lt;br /&gt;
Semantic supports a wide range of user interface tools.&lt;br /&gt;
=== Smart Completion ===&lt;br /&gt;
Completes symbols actually available in a given context. Some tools call this intellisense.&lt;br /&gt;
&lt;br /&gt;
=== Speedbar Browser ===&lt;br /&gt;
Code for browsing tag lists with Speedbar.&lt;br /&gt;
=== Documentation Generator ===&lt;br /&gt;
Identifies inline documentation in source code, and can convert it to texinfo. It can also create inline documenation.&lt;br /&gt;
=== Stickyfunc mode ===&lt;br /&gt;
Locks the function declaration you are editing in the header line. (Emacs only).&lt;br /&gt;
=== Imenu ===&lt;br /&gt;
Create hierarchical [[imenu]] menus from parsed files.&lt;br /&gt;
&lt;br /&gt;
=== Navigator ===&lt;br /&gt;
Senator is a navigator that permits simple navigation through the parsed language. It also includes token highlighting, and magic cut &amp;amp; paste.&lt;br /&gt;
=== Decoration Modes ===&lt;br /&gt;
Decorate buffers using more than regular expressions, such as overlines for functions, highlight header files Emacs can't find.&lt;br /&gt;
=== Smart Bookmarking ===&lt;br /&gt;
Emacs tracks what you edit, and allows quick navigation by name.&lt;br /&gt;
=== Highlight bad code ===&lt;br /&gt;
text which does not fit the language is underlined.&lt;br /&gt;
=== Charting ===&lt;br /&gt;
Draw a chart of some things semantic can quantify.&lt;br /&gt;
=== Analyzer ===&lt;br /&gt;
Examines code, and references those names against a database of pre-parsed files to provide detailed information.&lt;br /&gt;
&lt;br /&gt;
= Helpful keybindings =&lt;br /&gt;
&lt;br /&gt;
; {{Keys|C-n}}&lt;br /&gt;
: Move to next helm suggestion.&lt;br /&gt;
&lt;br /&gt;
; {{Keys|C-p}}&lt;br /&gt;
: Move to previous helm suggestion.&lt;br /&gt;
&lt;br /&gt;
= Common Customization =&lt;br /&gt;
&lt;br /&gt;
= See Also =&lt;br /&gt;
&lt;br /&gt;
[[Speedbar]]&lt;br /&gt;
&lt;br /&gt;
= Project Pages =&lt;br /&gt;
* [http://cedet.sourceforge.net/semantic.shtml Project Site]&lt;br /&gt;
* [http://www.gnu.org/software/emacs/manual/html_node/semantic/index.html#Top Official Manual]&lt;/div&gt;</summary>
		<author><name>129.102.67.214</name></author>
	</entry>
</feed>