From c34b2c57219aa496a202c2be1e12332b4eeea440 Mon Sep 17 00:00:00 2001
From: Ferenc Szontágh <szf@fsociety.hu>
Date: Mon, 14 Apr 2025 15:43:20 +0000
Subject: [PATCH] add function parameter handling and contextes
---
src/Token.hpp | 20 +++++++++++++-------
1 files changed, 13 insertions(+), 7 deletions(-)
diff --git a/src/Token.hpp b/src/Token.hpp
index 1391349..201d84b 100644
--- a/src/Token.hpp
+++ b/src/Token.hpp
@@ -1,6 +1,7 @@
#ifndef TOKEN_HPP
#define TOKEN_HPP
#include <cstdint>
+#include <iostream>
#include <string>
#include <unordered_map>
@@ -26,7 +27,9 @@
IntDeclaration, // int $variable
DoubleDeclaration, // double $variable
BooleanDeclaration, // bool $variable
- FunctionDeclaration, // function $variable
+ FunctionDeclaration, // function fn_name
+ FunctionCall, // fn_name(args)
+ Return, // return
Equals, // =
Plus, // +
Minus, // -
@@ -73,6 +76,8 @@
{ TokenType::DoubleDeclaration, "DoubleDeclaration" },
{ TokenType::BooleanDeclaration, "BooleanDeclaration" },
{ TokenType::FunctionDeclaration, "FunctionDeclaration" },
+ { TokenType::FunctionCall, "FunctionCall" },
+ { TokenType::Return, "Return" },
{ TokenType::Equals, "Equals" },
{ TokenType::Plus, "Plus" },
{ TokenType::Minus, "Minus" },
@@ -155,9 +160,10 @@
if (declaration == Variables::Type::VT_BOOLEAN) {
return TokenType::BooleanDeclaration;
}
- if (declaration == Variables::Type::VT_FUNCTION) {
- return TokenType::FunctionDeclaration;
- }
+ // if (declaration == Variables::Type::VT_FUNCTION) {
+ // return TokenType::FunctionDeclaration;
+ // }
+ std::cout << "Unknown variable type: " << Variables::TypeToString(declaration) << "\n";
return TokenType::Unknown;
}
@@ -174,9 +180,9 @@
if (type == TokenType::BooleanDeclaration) {
return Variables::Type::VT_BOOLEAN;
}
- if (type == TokenType::FunctionDeclaration) {
- return Variables::Type::VT_FUNCTION;
- }
+ //if (type == TokenType::FunctionDeclaration) {
+ // return Variables::Type::VT_FUNCTION;
+ //}
return Variables::Type::VT_NULL;
};
--
Gitblit v1.9.3