Revision as of 05:32, 28 August 2012

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 !!!