summaryrefslogtreecommitdiffstats
path: root/parse.h
diff options
context:
space:
mode:
Diffstat (limited to 'parse.h')
-rw-r--r--parse.h11
1 files changed, 6 insertions, 5 deletions
diff --git a/parse.h b/parse.h
index 701034ec..7e5b90a4 100644
--- a/parse.h
+++ b/parse.h
@@ -70,19 +70,20 @@ private:
class parser
{
public:
- parser (std::istream& i);
- parser (const std::string& n);
+ parser (std::istream& i, bool p);
+ parser (const std::string& n, bool p);
~parser ();
stapfile* parse ();
- static stapfile* parse (std::istream& i);
- static stapfile* parse (const std::string& n);
+ static stapfile* parse (std::istream& i, bool privileged);
+ static stapfile* parse (const std::string& n, bool privileged);
private:
std::string input_name;
std::istream* free_input;
lexer input;
+ bool privileged;
// scanning state
const token* last ();
@@ -98,10 +99,10 @@ private:
private: // nonterminals
void parse_probe (std::vector<probe*>&, std::vector<probe_alias*>&);
void parse_global (std::vector<vardecl*>&);
+ void parse_functiondecl (std::vector<functiondecl*>&);
embeddedcode* parse_embeddedcode ();
probe_point* parse_probe_point ();
literal* parse_literal ();
- functiondecl* parse_functiondecl ();
block* parse_stmt_block ();
statement* parse_statement ();
if_statement* parse_if_statement ();