Moved type defs
This commit is contained in:
@@ -10,6 +10,16 @@ class StatementExpression;
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
enum class ExpressionKind {
|
||||||
|
LITERAL,
|
||||||
|
GROUPING,
|
||||||
|
BINARY,
|
||||||
|
IF_ELSE,
|
||||||
|
VAR,
|
||||||
|
CALL,
|
||||||
|
INVALID
|
||||||
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// Expression
|
// Expression
|
||||||
class Expression {
|
class Expression {
|
||||||
|
|||||||
@@ -16,6 +16,16 @@ class StatementInvalid;
|
|||||||
|
|
||||||
using namespace std;
|
using namespace std;
|
||||||
|
|
||||||
|
enum class StatementKind {
|
||||||
|
FUNCTION_DECLARATION,
|
||||||
|
VAR_DECLARATION,
|
||||||
|
BLOCK,
|
||||||
|
RETURN,
|
||||||
|
EXPRESSION,
|
||||||
|
META_EXTERN_FUNCTION,
|
||||||
|
INVALID
|
||||||
|
};
|
||||||
|
|
||||||
//
|
//
|
||||||
// Statement
|
// Statement
|
||||||
class Statement {
|
class Statement {
|
||||||
|
|||||||
41
src/Token.h
41
src/Token.h
@@ -7,6 +7,47 @@
|
|||||||
|
|
||||||
using namespace std;
|
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 {
|
class Token {
|
||||||
private:
|
private:
|
||||||
TokenKind kind;
|
TokenKind kind;
|
||||||
|
|||||||
61
src/Types.h
61
src/Types.h
@@ -1,67 +1,6 @@
|
|||||||
#ifndef TYPES_H
|
#ifndef TYPES_H
|
||||||
#define 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 {
|
enum class ValueType {
|
||||||
NONE,
|
NONE,
|
||||||
BOOL,
|
BOOL,
|
||||||
|
|||||||
Reference in New Issue
Block a user