Difference between revisions of "Semantic"

From WikEmacs
Jump to: navigation, search
(Idle service manager)
(Language Parsers)
 
(6 intermediate revisions by 4 users not shown)
Line 23: Line 23:
 
Emacs Lisp, Java, C/C++, C#, Python, Erlang, awk, Makefile, Scheme, HTML, Texinfo, Javascript, dot.
 
Emacs Lisp, Java, C/C++, C#, Python, Erlang, awk, Makefile, Scheme, HTML, Texinfo, Javascript, dot.
 
Also: Semantic's own grammar format (.by or .wy)
 
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 ===
 
=== Incremental parser ===
 
Reparses minimal parts of a buffer as you edit.
 
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
+
=== Idle service manager ===
 +
Reparses buffers in idle time, and also call other services.
  
 
== Coding Tools ==
 
== Coding Tools ==
Line 34: Line 34:
 
=== Smart Completion ===
 
=== Smart Completion ===
 
Completes symbols actually available in a given context. Some tools call this intellisense.
 
Completes symbols actually available in a given context. Some tools call this intellisense.
Susan /    I loved the comment by the man whose shraing included this:  Prayer is where my strength comes from.  It seemed like a great twist on the common scenario where people pray because they feel like they're slipping over the cliff's edge and are hoping prayer will arrest their fall.  Praying consistently especially starting the day with it provides a strength that will carry us through our day and help with whatever issues we may face.  It's a foundation, a step up.  A vantage point.  Especially, as Kurt points out above, when we use that time to silence our laundry list of personal concerns and quietly ask,  Okay, what is God doing right now?  And then listen for the answers that will come.I liked that Chief Kerns' presentation gave us not just a laundry list of problems, but valuable insights into the causes of the crime and violence seen in our area.  Once you have this larger picture, you want to be part of the solution.  It's harder to shrug off the problem and figure it's someone else's problem to deal with.
 
  
 
=== Speedbar Browser ===
 
=== Speedbar Browser ===
Line 43: Line 42:
 
Locks the function declaration you are editing in the header line. (Emacs only).
 
Locks the function declaration you are editing in the header line. (Emacs only).
 
=== Imenu ===
 
=== Imenu ===
Create hierarchical imenu menus from parsed files.
+
Create hierarchical [[imenu]] menus from parsed files.
 +
 
 
=== Navigator ===
 
=== Navigator ===
 
Senator is a navigator that permits simple navigation through the parsed language. It also includes token highlighting, and magic cut & paste.
 
Senator is a navigator that permits simple navigation through the parsed language. It also includes token highlighting, and magic cut & paste.
Line 56: Line 56:
 
=== Analyzer ===
 
=== Analyzer ===
 
Examines code, and references those names against a database of pre-parsed files to provide detailed information.
 
Examines code, and references those names against a database of pre-parsed files to provide detailed information.
 
Choosing where you can purchase this kind of  is often the demnidang encounter simply because you might not understand how to obtain the least expensive costs or even that electric outlet may include this particular make of purse you need to purchase.
 
  
 
= Helpful keybindings =
 
= Helpful keybindings =
Line 76: Line 74:
 
* [http://cedet.sourceforge.net/semantic.shtml Project Site]
 
* [http://cedet.sourceforge.net/semantic.shtml Project Site]
 
* [http://www.randomsample.de/cedetdocs/semantic/semantic/ Official Manual]
 
* [http://www.randomsample.de/cedetdocs/semantic/semantic/ Official Manual]
 
= Tutorial Pages =
 
 
* [http://alexott.net/en/writings/emacs-devenv/EmacsCedet.html A Gentle Introduction to CEDET]
 
 
[[Category:Programming]][[Category:Convenience]][[Category:Built-in Package]][[Category:CEDET]]
 

Latest revision as of 17:59, 12 October 2012

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[edit]

Lexical Analyzer & Preprocessor[edit]

Converts a language into a token stream. Preprocessor support with lexical macro replacement (C/C++).

Parser[edit]

Converts a lexical token stream into a table of tags defined by the language.

Parser Generator with Bison[edit]

David Ponce has ported Bison to Emacs Lisp. New languages can be supported via the wisent parser.

Language Parsers[edit]

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)

Incremental parser[edit]

Reparses minimal parts of a buffer as you edit.

Idle service manager[edit]

Reparses buffers in idle time, and also call other services.

Coding Tools[edit]

Semantic supports a wide range of user interface tools.

Smart Completion[edit]

Completes symbols actually available in a given context. Some tools call this intellisense.

Speedbar Browser[edit]

Code for browsing tag lists with Speedbar.

Documentation Generator[edit]

Identifies inline documentation in source code, and can convert it to texinfo. It can also create inline documenation.

Stickyfunc mode[edit]

Locks the function declaration you are editing in the header line. (Emacs only).

Imenu[edit]

Create hierarchical imenu menus from parsed files.

Navigator[edit]

Senator is a navigator that permits simple navigation through the parsed language. It also includes token highlighting, and magic cut & paste.

Decoration Modes[edit]

Decorate buffers using more than regular expressions, such as overlines for functions, highlight header files Emacs can't find.

Smart Bookmarking[edit]

Emacs tracks what you edit, and allows quick navigation by name.

Highlight bad code[edit]

text which does not fit the language is underlined.

Charting[edit]

Draw a chart of some things semantic can quantify.

Analyzer[edit]

Examines code, and references those names against a database of pre-parsed files to provide detailed information.

Helpful keybindings[edit]

[C-n]
Move to next helm suggestion.
[C-p]
Move to previous helm suggestion.

Common Customization[edit]

See Also[edit]

Speedbar

Project Pages[edit]