verilog: Move variable declaration to top of function
verilog: Add isContainer function
verilog: Add verbose messages related to context
verilog: Allow context other than module
introduce vStringNewOwn and vStringUnwrap

combinePathAndFile in routines.h returned a vString.
However, it is better that routines.h doesn't depend on vstring.h.

So this patch changes the return type of combinePathAndFile to char*.

To implement at this two new vString functions are introduced.

extern vString *vStringNewOwn (char *s);

Create a new vstring with vStringNewInit and do eFree(S).

extern char    *vStringDeleteUnwrap (vString *const string);

Similar to vStrngValue but do eFree (STRING). caller takes
the owner ship of STRING->buffer; the caller must do eFree
against returned value.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
ignore tags.test, tags.ref, core.* and syntax.vim

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add --<LANG>-regex to help message

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
stop execution if parameter for --options is empty

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
don't search a file from CorpusPathList if its name starts with '.' or '/'

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
don't release resources after FATAL error

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: generalize the name of data-path related functions

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
report all failed test cases at the end of testing

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
use more specific name for variable representing the ctags command line in fuzz target

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
introduce a variable DEFAULT_PRELOAD_FILE for specifying default preload file

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
add uninstall-preload target

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: rename regex field of parserDefinition to method

To support --<LANG>-cmd= option `regex' field of parserDefinition, a
boolean field, is generalized to bit flags named method.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: make common parts of addCompiledTagPattern and addCompiledCallbackPattern a function

make common parts of addCompiledTagPattern and addCompiledCallbackPattern a function
named addCompiledTagCommon. Both now functions call addCompiledTagCommon.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
refactor: delay the decision to use findRegexTags as a parser method till a regex is added

The decision to use findRegexTags was made when a language is created
with --langdef. However, when --<LANG>-cmd= is introduced,
findRegexTags is not suitable even for a language crated with
--langdef. Whether findRegexTags should be used or not is not clear
till a regex is added to the language.

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
make writePseudoTag be usable from all source files with language extension

In --<LANG>-xcmd optoin, the pseudo tags from external commands will
be merged into the final output. In other word '--<LANG>-xcmd' related
code has to emit pseudo tags. writePseudoTag is implementated in entry.c
but it is static scoped. This patch makes writePseudoTag be usable from
all source files.

language optional parameter is added for making a external command be
able to record its own _TAG_PROGRAM_AUTHOR, _TAG_PROGRAM_NAME,
_TAG_PROGRAM_URL and TAG_PROGRAM_VERSION. If language is other than
NULL, writePseudoTag uses the value of language as suffix of each
pseudo tag.

e.g. (here "coffee" is specified as the value for language.)

    !_TAG_PROGRAM_AUTHOR!coffee	...
    !_TAG_PROGRAM_NAME!coffee	...
    !_TAG_PROGRAM_URL!coffee	...
    !_TAG_PROGRAM_VERSION!coffee	...

Signed-off-by: Masatake YAMATO <yamato@redhat.com>
introduce general purpose hash table

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