aboutsummaryrefslogtreecommitdiffstats
path: root/Parser.h
diff options
context:
space:
mode:
authorChristian <c@ethdev.com>2014-10-09 21:57:49 +0800
committerChristian <c@ethdev.com>2014-10-10 00:35:41 +0800
commit924f7c62bdcb203f42514d298f15570ff53d2bac (patch)
tree627dcfa5883597c1d19d58902eca3c2aa8ca4d73 /Parser.h
parentc3faa433ef2cb864764320adcb3c980b0fab7c0d (diff)
downloaddexon-solidity-924f7c62bdcb203f42514d298f15570ff53d2bac.tar.gz
dexon-solidity-924f7c62bdcb203f42514d298f15570ff53d2bac.tar.zst
dexon-solidity-924f7c62bdcb203f42514d298f15570ff53d2bac.zip
Initial implementation of Solidity parser finished, not yet tested much.
Diffstat (limited to 'Parser.h')
-rw-r--r--Parser.h10
1 files changed, 10 insertions, 0 deletions
diff --git a/Parser.h b/Parser.h
index 65409a29..7036c3c2 100644
--- a/Parser.h
+++ b/Parser.h
@@ -53,12 +53,22 @@ private:
ptr<ParameterList> parseParameterList();
ptr<Block> parseBlock();
ptr<Statement> parseStatement();
+ ptr<IfStatement> parseIfStatement();
+ ptr<WhileStatement> parseWhileStatement();
+ ptr<VariableDefinition> parseVariableDefinition();
+ ptr<Expression> parseExpression();
+ ptr<Expression> parseBinaryExpression(int _minPrecedence = 4);
+ ptr<Expression> parseUnaryExpression();
+ ptr<Expression> parseLeftHandSideExpression();
+ ptr<Expression> parsePrimaryExpression();
+ vecptr<Expression> parseFunctionCallArguments();
/// @}
/// Helper functions
/// @{
/// If current token value is not _value, throw exception otherwise advance token.
void expectToken(Token::Value _value);
+ Token::Value expectAssignmentOperator();
std::string expectIdentifier();
void throwExpectationError(const std::string& _description);
/// @}