Add GNU Ada support
From: http://sourceforge.net/projects/gnuada/files/Tools%20Source/R8/

and example from CSc 233
http://sandbox.mc.edu/~bennet/ada/examples/

Signed-off-by: Reza Jelveh <reza.jelveh@tuhh.de>
Merge pull request #29 from fishman/gnu_ada_support

Add GNU Ada support
TODO: Unit tests must be added, too.
add unit tests for ada parser

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
fishman: Update TRACKING file

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Update TRACKING to describe new flow using SVN branch

Merge flow is still not defined.
fishman: more update TRACKING file

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Merge pull request #45 from vhda/tracking

Update TRACKING to describe new flow using SVN branch
ObjectiveC: add "objc" as extensions

objc is used as name of major mode for ObjectiveC in emacs.
To choose a proper language parser from  a mode line, -*- objc -*-,
ctags must know "objc" means ObjectiveC.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
ada: handle an empty file properly

With command line "ctags --language-force=ada Test/ocaml_empty.ml" ctags
crashes. This patch fixes this bug.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Fix segmentation fault when parse empty vim file
Merge pull request #57 from todesking/fix_crash_on_empty_vim_file

Fix segmentation fault when parse empty vim file
fishman: update TRACKING file

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add finalize method for language parser

provied a change to free resources allocated in
initialize method to language parsers.

Currently some memory blocks in allocated in initialize
method of tex are leaked. This will help to fix it.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
use --options to load options when running unit tests

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
tex: free memory blocks allocated at initialize method

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
ObjectiveC: free memory blocks allocated at initialize method

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
php: free memory blocks allocated in a function as function local var

A memory block is allocated in initPhpEntry and is assigned to
fullScope the function local variable. This is not any kind of memory
leak. However, for simplify the output of valgrind, in this patch, the
variable is moved to the out of the function as a file local vairable.
The memory block is alocated at php's initialize method and freed at
its finalize method.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
Veirlog: free memory blocks allocated at initialize method

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
ada: initialize uninitialised structure field

root.isPrivate in findAdaTags was not initialized.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: unify functions for checking with nameLanguage and that with extensionLanguage when choosing a language parser

getExtensionLanguage was prior to getNamedLanguage. However, we should
use both impartially.

Now ctags can detect shbang line, emacs mode and vim filetype. In many
cases the name of emacs mode or vim filetype is same as the
name of parser.

e.g.

If a file has -*- python -*- line as the head, codes in
getEmacsModeLanguageAtFirstLine will pick up "python" and
choose a language parser getExtensionLanguage.

Though "python" is not registered as an extension.

    extern parserDefinition *PythonParser (void)
    {
	static const char *const extensions[] = { "py", "pyx", "pxd", "pxi" ,"scons",
						  "python2", "python3",
						  NULL };

"python" is the name of language parser.

	parserDefinition *def = parserNew ("Python");

Newly introduced getAnyLanguage checks both
LanguageTable [i]->currentExtensions and  LanguageTable[i]->name
to find a language parser.

Adding the name of parser to the extensions is another approach.
However, we have to change wider area of codes in the approach.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>