Semantic
Description | infrastructure for parser based text analysis |
---|---|
Author | David Ponce |
Maintainer | David Ponce |
Source | http://cedet.sourceforge.net/semantic.shtml |
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.
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.
Parser Infrastructure
Lexical Analyzer & Preprocessor
Converts a language into a token stream. Preprocessor support with lexical macro replacement (C/C++).
Parser
Converts a lexical token stream into a table of tags defined by the language.
Parser Generator with Bison
David Ponce has ported Bison to Emacs Lisp. New languages can be supported via the wisent parser.
Language Parsers
Parsers that have already been implemented: Emacs Lisp, Java, C/C++, C#, Python, Erlang, awk, Makefile, Scheme, HTML, Texinfo, Javascript, dot. Also: Semantic's own grammar format (.by or .wy) This is the first and only video tutorial that I could find on youbute about MS Access 2010 which is very calm explained, very smooth voice, and explains each step for newbies, as well its fun to watch. Great vid thanks !!!
Incremental parser
Reparses minimal parts of a buffer as you edit. I AM BACK: ja ich wohne ja "in" den bergen :D ich bin die ahistiscae heidi!@WUNDERKIND: also ich konnte leider noch nicht alleine laufen!!!! man muss mir immer noch helfen, aber nicht mehr so wacklig wie bein 1. mal ;)@LESPENELOPc9S MD: wie du auf dem bild sehen kannst hat man beim SLACKLINE ein band das man zwischen 2 be4umen oda festen balken festbindet, du muss darauf balancieren und wenn du richtig gut bist kannste auch tricks darauf machen :D
Coding Tools
Semantic supports a wide range of user interface tools.
Smart Completion
Completes symbols actually available in a given context. Some tools call this intellisense.
Speedbar Browser
Code for browsing tag lists with Speedbar.
Documentation Generator
Identifies inline documentation in source code, and can convert it to texinfo. It can also create inline documenation.
Stickyfunc mode
Locks the function declaration you are editing in the header line. (Emacs only).
Create hierarchical imenu menus from parsed files.
Senator is a navigator that permits simple navigation through the parsed language. It also includes token highlighting, and magic cut & paste.
Decoration Modes
Decorate buffers using more than regular expressions, such as overlines for functions, highlight header files Emacs can't find.
Smart Bookmarking
Emacs tracks what you edit, and allows quick navigation by name.
Highlight bad code
text which does not fit the language is underlined.
Charting
Draw a chart of some things semantic can quantify.
Analyzer
Examines code, and references those names against a database of pre-parsed files to provide detailed information.
Helpful keybindings
- [C-n]
- Move to next helm suggestion.
- [C-p]
- Move to previous helm suggestion.