#pragma once #include #include #include #include "common_types.h" namespace Teakra { class Parser { public: virtual ~Parser() = default; struct Opcode { enum { Invalid, Valid, ValidWithExpansion, } status = Invalid; u16 opcode = 0; }; virtual Opcode Parse(const std::vector& tokens) = 0; }; std::unique_ptr GenerateParser(); } // namespace Teakra