Lexer done for now, moving on to ast

This commit is contained in:
Michael Fabian 'Xaymar' Dirks
2024-06-26 00:31:06 +02:00
parent fa81c2a7fa
commit dfe3e88dbd
15 changed files with 642 additions and 103 deletions
+29 -1
View File
@@ -1 +1,29 @@
#include "ast.hpp"
// AUTOGENERATED COPYRIGHT HEADER START
// Copyright (C) 2017-2024 Michael Fabian 'Xaymar' Dirks <info@xaymar.com>
// AUTOGENERATED COPYRIGHT HEADER END
#include "ast.hpp"
#include <cstdlib>
blitz::ast::value_expression::value_expression(blitz::token token) : expression(token) {}
blitz::ast::integer_expression::integer_expression(blitz::token token) : value_expression(token), _value(0)
{
if (_token.text.length() > 0) {
_value = atol(_token.text.c_str());
}
}
blitz::ast::real_expression::real_expression(blitz::token token) : value_expression(token), _value(0.0f)
{
if (_token.text.length() > 0) {
_value = atof(_token.text.c_str());
}
}
blitz::ast::string_expression::string_expression(blitz::token token) : value_expression(token), _value()
{
_value = _token.text;
}
blitz::ast::variable_expression::variable_expression(blitz::token token) : expression(token) {}