| 
| 
static const IR::P4Program *  | parse (FILE *in, std::string_view sourceFile, unsigned sourceLine=1) | 
|   | 
| static const IR::P4Program *  | parse (std::istream &in, std::string_view sourceFile, unsigned sourceLine=1) | 
|   | 
| 
static const IR::Constant *  | parseConstant (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseConstantList (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Expression *  | parseConstantOrStringLiteral (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseConstantOrStringLiteralList (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseConstantPair (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseConstantTriple (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Expression *  | parseExpression (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| static const IR::Vector< IR::Expression > *  | parseExpressionList (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseExpressionPair (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseExpressionTriple (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::IndexedVector< IR::NamedExpression > *  | parseKvList (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseP4rtTranslationAnnotation (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::StringLiteral *  | parseStringLiteral (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseStringLiteralList (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseStringLiteralPair (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
| 
static const IR::Vector< IR::Expression > *  | parseStringLiteralTriple (const Util::SourceInfo &srcInfo, const IR::Vector< IR::AnnotationToken > &body) | 
|   | 
 | 
| 
void  | onReadErrorDeclaration (IR::Type_Error *error) | 
|   | Notify that the parser parsed a P4 error declaration. 
  | 
|   | 
| void  | onParseError (const Util::SourceInfo &location, const std::string &message) | 
|   | 
| void  | onReadComment (const char *text, bool lineComment) | 
|   | 
| 
void  | onReadFileName (const char *text) | 
|   | Notify that the lexer read a filename from a #line directive. 
  | 
|   | 
| 
void  | onReadIdentifier (cstring id) | 
|   | Notify that the lexer read an identifier, @id. 
  | 
|   | 
| 
void  | onReadLineNumber (const char *text) | 
|   | Notify that the lexer read a line number from a #line directive. 
  | 
|   | 
| 
void  | onReadToken (const char *text) | 
|   | Notify that the lexer read a token. @text is the matched source text. 
  | 
|   | 
A ParserDriver that can parse P4-16 programs.