Files
PCCCompiler/PCCcompiler/compiler_types.h
2026-02-06 16:04:23 +01:00

34 lines
724 B
C++

#ifndef COMPILER_TYPES_H
#define COMPILER_TYPES_H
#include <string>
#include <vector>
#include <map>
#include <stack>
struct Expression {
std::string leftVar;
std::string op;
std::string rightVar;
std::string resultVar;
};
struct IfBlock {
std::string conditionVar;
std::vector<std::string> prints;
};
struct CompilerState {
std::vector<Expression> expressions;
std::vector<IfBlock> ifBlocks;
std::map<std::string, int> variables;
std::vector<std::string> printCalls;
std::vector<std::string> globalPrints;
std::map<std::string, std::vector<std::string>> functions;
bool inFunction = false;
std::string currentFunction;
std::stack<bool> braceStack;
};
#endif