| 
| 
  | CompilerOptions (std::string_view defaultMessage="Compile a P4 program") | 
|   | 
| 
virtual bool  | enable_intrinsic_metadata_fix () | 
|   | 
| 
  | ParserOptions (std::string_view defaultMessage="Parse a P4 program") | 
|   | 
| DebugHook  | getDebugHook () const | 
|   | 
| const char *  | getIncludePath () const override | 
|   | Return target specific include path.  
  | 
|   | 
| 
bool  | isAnnotationDisabled (const IR::Annotation *a) const | 
|   | Check whether this particular annotation was disabled. 
  | 
|   | 
| 
bool  | isv1 () const | 
|   | True if we are compiling a P4 v1.0 or v1.1 program. 
  | 
|   | 
| 
std::optional< ParserOptions::PreprocessorResult >  | preprocess () const | 
|   | Returns the output of the preprocessor. 
  | 
|   | 
| std::vector< const char * > *  | process (int argc, char *const argv[]) override | 
|   | 
| bool  | searchForIncludePath (const char *&includePathOut, std::vector< cstring > relativePaths, const char *) | 
|   | 
| 
void  | setInputFile () | 
|   | Expect that the only remaining argument is the input file. 
  | 
|   | 
| 
cstring  | getBinaryName () | 
|   | 
| 
cstring  | getBuildDate () | 
|   | 
| 
cstring  | getCompileCommand () | 
|   | 
| 
virtual void  | usage () | 
|   | 
 | 
| 
cstring  | arch = nullptr | 
|   | 
| 
bool  | debugJson = false | 
|   | 
| 
std::filesystem::path  | dumpJsonFile | 
|   | 
| 
bool  | excludeBackendPasses = false | 
|   | 
| 
bool  | excludeFrontendPasses = false | 
|   | 
| 
bool  | excludeMidendPasses = false | 
|   | 
| 
bool  | listFrontendPasses = false | 
|   | 
| 
bool  | listMidendPasses = false | 
|   | 
| 
bool  | loopsUnrolling = false | 
|   | 
| 
bool  | ndebug = false | 
|   | 
| 
int  | optimizationLevel = 1 | 
|   | 
| 
bool  | optimizeDebug = false | 
|   | 
| 
bool  | optimizeSize = false | 
|   | 
| 
cstring  | p4RuntimeEntriesFile = nullptr | 
|   | 
| 
cstring  | p4RuntimeEntriesFiles = nullptr | 
|   | 
| 
cstring  | p4RuntimeFile = nullptr | 
|   | 
| 
cstring  | p4RuntimeFiles = nullptr | 
|   | 
| 
P4::P4RuntimeFormat  | p4RuntimeFormat = P4::P4RuntimeFormat::BINARY | 
|   | 
| 
std::vector< cstring >  | passesToExcludeBackend | 
|   | 
| 
std::vector< cstring >  | passesToExcludeFrontend | 
|   | 
| 
std::vector< cstring >  | passesToExcludeMidend | 
|   | 
| 
std::filesystem::path  | prettyPrintFile | 
|   | 
| 
cstring  | target = nullptr | 
|   | 
| 
cstring  | compilerVersion | 
|   | Compiler version. 
  | 
|   | 
| 
bool  | doNotCompile = false | 
|   | if true preprocess only 
  | 
|   | 
| 
bool  | doNotPreprocess = false | 
|   | if true skip preprocess 
  | 
|   | 
| 
std::filesystem::path  | dumpFolder = "." | 
|   | debugging dumps of programs written in this folder 
  | 
|   | 
| 
cstring  | exe_name | 
|   | Name of executable that is being run. 
  | 
|   | 
| 
std::filesystem::path  | file | 
|   | file to compile (- for stdin) 
  | 
|   | 
| 
FrontendVersion  | langVersion = FrontendVersion::P4_16 | 
|   | Which language to compile. 
  | 
|   | 
| bool  | noIncludes = false | 
|   | 
| 
bool  | optimizeParserInlining = false | 
|   | If false, optimization of callee parsers (subparsers) inlining is disabled. 
  | 
|   | 
| 
cstring  | preprocessor_options = cstring::empty | 
|   | options to pass to preprocessor 
  | 
|   | 
| 
std::vector< cstring >  | top4 | 
|   | substrings matched against pass names 
  | 
|   | 
 | 
| bool  | validateOptions () const override | 
|   | 
| 
void  | dumpPass (const char *manager, unsigned seq, const char *pass, const IR::Node *node) const | 
|   | Function that is returned by getDebugHook. 
  | 
|   | 
| 
  | Options (std::string_view message) | 
|   | 
| 
void  | registerOption (const char *option, const char *argName, OptionProcessor processor, const char *description, OptionFlags flags=OptionFlags::Default) | 
|   | 
| 
void  | registerUsage (const char *msg) | 
|   | 
| 
void  | setOutStream (std::ostream *out) | 
|   | 
 | 
| enum class   | FrontendVersion { P4_14
, P4_16
 } | 
|   | 
| 
using  | PreprocessorResult = std::unique_ptr<FILE, decltype(&closeFile)> | 
|   | Records the result of the preprocessor. 
  | 
|   | 
| enum   | OptionFlags { Default = 0
, Hide = 1 << 0
, OptionalArgument = 1 << 1
 } | 
|   | 
| 
using  | OptionProcessor = std::function<bool(const char *)> | 
|   | 
| 
static void  | closeFile (FILE *file) | 
|   | Tries to close the input stream associated with the result. 
  | 
|   | 
| 
std::vector< const char * >  | additionalUsage | 
|   | 
| 
const char *  | binaryName | 
|   | 
| 
cstring  | buildDate | 
|   | 
| 
bool  | collectUnknownOptions = false | 
|   | 
| 
cstring  | compileCommand | 
|   | 
| 
cstring  | message | 
|   | 
| 
std::vector< cstring >  | optionOrder | 
|   | 
| 
std::map< cstring, const Option * >  | options | 
|   | 
| 
std::ostream *  | outStream = &std::cerr | 
|   | 
| 
std::vector< const char * >  | remainingOptions | 
|   |