CBMC
jsil_parser.h
Go to the documentation of this file.
1 /*******************************************************************\
2 
3 Module: Jsil Language
4 
5 Author: Michael Tautschnig, tautschn@amazon.com
6 
7 \*******************************************************************/
8 
11 
12 #ifndef CPROVER_JSIL_JSIL_PARSER_H
13 #define CPROVER_JSIL_JSIL_PARSER_H
14 
15 #include <util/parser.h>
16 
17 #include "jsil_parse_tree.h"
18 
19 int yyjsilparse();
20 
21 class jsil_parsert:public parsert
22 {
23 public:
25 
26  virtual bool parse() override
27  {
28  return yyjsilparse()!=0;
29  }
30 
31  virtual void clear() override
32  {
34  parse_tree.clear();
35 
36  // scanner state
37  string_literal.clear();
38  }
39 
40  // internal state of the scanner
41  std::string string_literal;
42 };
43 
45 
46 int yyjsilerror(const std::string &error);
47 void jsil_scanner_init();
48 
49 #endif // CPROVER_JSIL_JSIL_PARSER_H
jsil_scanner_init
void jsil_scanner_init()
parsert::clear
virtual void clear()
Definition: parser.h:32
jsil_parsert
Definition: jsil_parser.h:21
jsil_parsert::parse_tree
jsil_parse_treet parse_tree
Definition: jsil_parser.h:24
jsil_parsert::clear
virtual void clear() override
Definition: jsil_parser.h:31
jsil_parse_treet
Definition: jsil_parse_tree.h:100
jsil_parser
jsil_parsert jsil_parser
Definition: jsil_parser.cpp:14
parsert
Definition: parser.h:23
yyjsilerror
int yyjsilerror(const std::string &error)
Definition: jsil_parser.cpp:18
yyjsilparse
int yyjsilparse()
parser.h
jsil_parsert::string_literal
std::string string_literal
Definition: jsil_parser.h:41
jsil_parse_treet::clear
void clear()
Definition: jsil_parse_tree.h:111
jsil_parse_tree.h
jsil_parsert::parse
virtual bool parse() override
Definition: jsil_parser.h:26