Moved type defs
This commit is contained in:
@@ -10,6 +10,16 @@ class StatementExpression;
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum class ExpressionKind {
|
||||
LITERAL,
|
||||
GROUPING,
|
||||
BINARY,
|
||||
IF_ELSE,
|
||||
VAR,
|
||||
CALL,
|
||||
INVALID
|
||||
};
|
||||
|
||||
//
|
||||
// Expression
|
||||
class Expression {
|
||||
|
||||
@@ -16,6 +16,16 @@ class StatementInvalid;
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum class StatementKind {
|
||||
FUNCTION_DECLARATION,
|
||||
VAR_DECLARATION,
|
||||
BLOCK,
|
||||
RETURN,
|
||||
EXPRESSION,
|
||||
META_EXTERN_FUNCTION,
|
||||
INVALID
|
||||
};
|
||||
|
||||
//
|
||||
// Statement
|
||||
class Statement {
|
||||
|
||||
41
src/Token.h
41
src/Token.h
@@ -7,6 +7,47 @@
|
||||
|
||||
using namespace std;
|
||||
|
||||
enum class TokenKind {
|
||||
PLUS,
|
||||
MINUS,
|
||||
STAR,
|
||||
SLASH,
|
||||
PERCENT,
|
||||
|
||||
EQUAL,
|
||||
NOT_EQUAL,
|
||||
LESS,
|
||||
LESS_EQUAL,
|
||||
GREATER,
|
||||
GREATER_EQUAL,
|
||||
|
||||
LEFT_PAREN,
|
||||
RIGHT_PAREN,
|
||||
COMMA,
|
||||
COLON,
|
||||
SEMICOLON,
|
||||
QUESTION,
|
||||
QUESTION_QUESTION,
|
||||
LEFT_ARROW,
|
||||
RIGHT_ARROW,
|
||||
|
||||
FUNCTION,
|
||||
RETURN,
|
||||
|
||||
BOOL,
|
||||
INTEGER,
|
||||
REAL,
|
||||
IDENTIFIER,
|
||||
TYPE,
|
||||
|
||||
M_EXTERN,
|
||||
|
||||
NEW_LINE,
|
||||
END,
|
||||
|
||||
INVALID
|
||||
};
|
||||
|
||||
class Token {
|
||||
private:
|
||||
TokenKind kind;
|
||||
|
||||
61
src/Types.h
61
src/Types.h
@@ -1,67 +1,6 @@
|
||||
#ifndef TYPES_H
|
||||
#define TYPES_H
|
||||
|
||||
enum class TokenKind {
|
||||
PLUS,
|
||||
MINUS,
|
||||
STAR,
|
||||
SLASH,
|
||||
PERCENT,
|
||||
|
||||
EQUAL,
|
||||
NOT_EQUAL,
|
||||
LESS,
|
||||
LESS_EQUAL,
|
||||
GREATER,
|
||||
GREATER_EQUAL,
|
||||
|
||||
LEFT_PAREN,
|
||||
RIGHT_PAREN,
|
||||
COMMA,
|
||||
COLON,
|
||||
SEMICOLON,
|
||||
QUESTION,
|
||||
QUESTION_QUESTION,
|
||||
LEFT_ARROW,
|
||||
RIGHT_ARROW,
|
||||
|
||||
FUNCTION,
|
||||
RETURN,
|
||||
|
||||
BOOL,
|
||||
INTEGER,
|
||||
REAL,
|
||||
IDENTIFIER,
|
||||
TYPE,
|
||||
|
||||
M_EXTERN,
|
||||
|
||||
NEW_LINE,
|
||||
END,
|
||||
|
||||
INVALID
|
||||
};
|
||||
|
||||
enum class ExpressionKind {
|
||||
LITERAL,
|
||||
GROUPING,
|
||||
BINARY,
|
||||
IF_ELSE,
|
||||
VAR,
|
||||
CALL,
|
||||
INVALID
|
||||
};
|
||||
|
||||
enum class StatementKind {
|
||||
FUNCTION_DECLARATION,
|
||||
VAR_DECLARATION,
|
||||
BLOCK,
|
||||
RETURN,
|
||||
EXPRESSION,
|
||||
META_EXTERN_FUNCTION,
|
||||
INVALID
|
||||
};
|
||||
|
||||
enum class ValueType {
|
||||
NONE,
|
||||
BOOL,
|
||||
|
||||
Reference in New Issue
Block a user