12#ifndef CTAGS_MAIN_SUBPARSER_H
13#define CTAGS_MAIN_SUBPARSER_H
23#define foreachSubparser(VAR, INCLUDING_NONE_CRAFTED_PARSER)\
25 while ((VAR = getNextSubparser (VAR, INCLUDING_NONE_CRAFTED_PARSER)) != NULL)
65#define RUN_DEFAULT_SUBPARSERS -1
void(* makeTagEntryNotify)(subparser *s, const tagEntryInfo *tag, int corkIndex)
void(* inputStart)(subparser *s)
subparserRunDirection direction
slaveParser * slaveParser
bool chosenAsExclusiveSubparser
void(* exclusiveSubparserChosenNotify)(subparser *s, void *data)
bool schedulingBaseparserExplicitly
void(* inputEnd)(subparser *s)
enum eSubparserRunDirection subparserRunDirection
void enterSubparser(subparser *subparser)
subparser * getSubparserRunningBaseparser(void)
@ SUBPARSER_BASE_RUNS_SUB
@ SUBPARSER_UNKNOWN_DIRECTION
@ SUBPARSER_SUB_RUNS_BASE
subparser * getNextSubparser(subparser *last, bool includingNoneCraftedParser)
void leaveSubparser(void)
void scheduleRunningBaseparser(int dependencyIndex)
void chooseExclusiveSubparser(subparser *s, void *data)