1 /* 2 * Copyright (c) 2000-2003, Darren Hiebert 3 * 4 * This source code is released for free distribution under the terms of the 5 * GNU General Public License version 2 or (at your option) any later version. 6 * 7 * External interface to all language parsing modules. 8 * 9 * To add a new language parser, you need only modify this single input 10 * file to add the name of the parser definition function. 11 */ 12 #ifndef CTAGS_MAIN_PARSERS_H 13 #define CTAGS_MAIN_PARSERS_H 14 15 #ifdef HAVE_LIBXML 16 #define XML_PARSER_LIST \ 17 DbusIntrospectParser, \ 18 GladeParser, \ 19 Maven2Parser, \ 20 PlistXMLParser, \ 21 RelaxNGParser, \ 22 SvgParser, \ 23 XmlParser, \ 24 XsltParser 25 #else 26 #define XML_PARSER_LIST 27 #endif 28 29 #ifdef HAVE_LIBYAML 30 #define YAML_PARSER_LIST \ 31 YamlParser, \ 32 AnsiblePlaybookParser, \ 33 OpenAPIParser, \ 34 YamlFrontMatter 35 #else 36 #define YAML_PARSER_LIST 37 #endif 38 39 #ifdef HAVE_PACKCC 40 #define PEG_PARSER_LIST \ 41 VarlinkParser, \ 42 KotlinParser, \ 43 ThriftParser, \ 44 ElmParser 45 #else 46 #define PEG_PARSER_LIST 47 #endif 48 49 #ifdef HAVE_PCRE2 50 #define OPTLIB2C_PCRE2_PARSER_LIST \ 51 RDocParser 52 #else 53 #define OPTLIB2C_PCRE2_PARSER_LIST 54 #endif 55 56 /* Add the name of any new parser definition function here */ 57 #define PARSER_LIST \ 58 AbaqusParser, \ 59 AbcParser, \ 60 AdaParser, \ 61 AntParser, \ 62 AsciidocParser, \ 63 AsmParser, \ 64 AspParser, \ 65 AutoconfParser, \ 66 AutoItParser, \ 67 AutomakeParser, \ 68 AwkParser, \ 69 BasicParser, \ 70 BetaParser, \ 71 BibtexParser, \ 72 ClojureParser, \ 73 CMakeParser, \ 74 CParser, \ 75 CppParser, \ 76 CPreProParser, \ 77 CssParser, \ 78 CsharpParser, \ 79 CtagsParser, \ 80 CobolParser, \ 81 CobolFreeParser, \ 82 CobolVariableParser, \ 83 CUDAParser, \ 84 DParser, \ 85 DiffParser, \ 86 DtdParser, \ 87 DTSParser, \ 88 DosBatchParser, \ 89 EiffelParser, \ 90 ElixirParser, \ 91 EmacsLispParser, \ 92 ErlangParser, \ 93 FalconParser, \ 94 FlexParser, \ 95 FortranParser, \ 96 FrontMatterParser, \ 97 FunctionParametersParser, \ 98 FyppParser, \ 99 GdbinitParser, \ 100 GDScriptParser, \ 101 GemSpecParser, \ 102 GoParser, \ 103 HaskellParser, \ 104 HaxeParser, \ 105 HtmlParser, \ 106 IniconfParser, \ 107 InkoParser, \ 108 IPythonCellParser, \ 109 ITclParser, \ 110 JavaParser, \ 111 JavaPropertiesParser, \ 112 JavaScriptParser, \ 113 JsonParser, \ 114 JuliaParser, \ 115 KconfigParser, \ 116 LdScriptParser, \ 117 LEXParser, \ 118 LispParser, \ 119 LiterateHaskellParser, \ 120 LuaParser, \ 121 M4Parser, \ 122 ManParser, \ 123 MakefileParser, \ 124 MarkdownParser, \ 125 MatLabParser, \ 126 MesonParser, \ 127 MesonOptionsParser, \ 128 MooseParser, \ 129 MyrddinParser, \ 130 NsisParser, \ 131 ObjcParser, \ 132 OldCppParser, \ 133 OldCParser, \ 134 OcamlParser, \ 135 OrgParser, \ 136 PasswdParser, \ 137 PascalParser, \ 138 PerlParser, \ 139 Perl6Parser, \ 140 PhpParser, \ 141 PodParser, \ 142 PowerShellParser, \ 143 ProtobufParser, \ 144 PuppetManifestParser, \ 145 PythonParser, \ 146 PythonLoggingConfigParser, \ 147 QemuHXParser, \ 148 QtMocParser, \ 149 RMarkdownParser, \ 150 RParser, \ 151 RakeParser, \ 152 R6ClassParser, \ 153 RSpecParser, \ 154 RexxParser, \ 155 RobotParser, \ 156 RpmMacrosParser, \ 157 RpmSpecParser, \ 158 RstParser, \ 159 RubyParser, \ 160 RustParser, \ 161 S4ClassParser, \ 162 SchemeParser, \ 163 SCSSParser, \ 164 ShParser, \ 165 SlangParser, \ 166 SmlParser, \ 167 SqlParser, \ 168 SystemdUnitParser, \ 169 SystemTapParser, \ 170 TclParser, \ 171 TclOOParser, \ 172 TexParser, \ 173 TexBeamerParser, \ 174 TTCNParser, \ 175 Txt2tagsParser, \ 176 TypeScriptParser, \ 177 VeraParser, \ 178 VerilogParser, \ 179 SystemVerilogParser, \ 180 VhdlParser, \ 181 VimParser, \ 182 WindResParser, \ 183 YACCParser, \ 184 YumRepoParser, \ 185 ZephirParser 186 187 #endif /* CTAGS_MAIN_PARSERS_H */ 188