port from perforce

This commit is contained in:
2026-04-18 22:31:51 +02:00
commit 8d0ab5b7cc
8409 changed files with 3972376 additions and 0 deletions

35
bp10-4k/src/SemAnalyzer.h Normal file
View File

@@ -0,0 +1,35 @@
#pragma once
#include "LexAnalyzer.h"
struct VmCall
{
enum Type
{
FunctionCall,
Label
};
CString name;
Type type;
std::vector<int> arguments;
CString labelReference;
};
class SemAnalyzer
{
public:
LanguageSpecifier language;
std::vector<CString> texts;
std::vector<VmCall> vmCalls;
std::map<CString, int> usedFunctions;
SemAnalyzer();
virtual ~SemAnalyzer();
void Parse(const CString& fileName, std::vector<Keyword> keywords);
private:
int ParseFunction(const CString& fileName, std::vector<Keyword>::iterator& iter, std::vector<int>& args, CString& labelReference);
};