mirror of
https://github.com/avinal/The-Hack-Assembler.git
synced 2026-01-10 23:28:33 +05:30
27 lines
425 B
C++
27 lines
425 B
C++
#pragma once
|
|
#ifdef PARSER_HPP
|
|
#define PARSER_HPP
|
|
|
|
#include "code.hpp"
|
|
#include <fstream>
|
|
|
|
class parser : public code
|
|
{
|
|
private:
|
|
std::ifstream asmfile;
|
|
|
|
public:
|
|
parser(std::string input_file);
|
|
~parser();
|
|
|
|
bool has_more_commands();
|
|
void advance();
|
|
char command_type();
|
|
std::string symbol();
|
|
std::array<char, 3> dest();
|
|
std::array<char, 7> comp();
|
|
std::array<char, 3> jump();
|
|
};
|
|
|
|
#endif
|