More complex type parsing
This commit is contained in:
@@ -3,9 +3,11 @@
|
||||
|
||||
#include <vector>
|
||||
|
||||
class Error;
|
||||
|
||||
class Token;
|
||||
enum class TokenKind;
|
||||
class Error;
|
||||
class ValueType;
|
||||
|
||||
class Expression;
|
||||
class Statement;
|
||||
@@ -47,6 +49,8 @@ private:
|
||||
shared_ptr<Expression> matchExpressionBinary(shared_ptr<Expression> left);
|
||||
shared_ptr<Expression> matchExpressionBlock(vector<TokenKind> terminalTokenKinds);
|
||||
|
||||
shared_ptr<ValueType> matchValueType();
|
||||
|
||||
bool tryMatchingTokenKinds(vector<TokenKind> kinds, bool shouldMatchAll, bool shouldAdvance);
|
||||
|
||||
void markError(optional<TokenKind> expectedTokenKind, optional<string> message);
|
||||
|
||||
Reference in New Issue
Block a user