Skip to content

CPUParser

INCLUDE FILE
#include "CPUParser.h"

class CPUParser

This class parses CPU definitions.

DEFINITION
class CPUParser;

constructor CPUParser

DEFINITION
CPUParser ( );

method initializestatic private

DEFINITION
static void  initialize ( );

method parse

DEFINITION
CPU  parse ( Symbol  file_name );
PARAMETERDESCRIPTION
file_name
RETURNSDESCRIPTION
CPU

method parse_addressing_modeprivate

DEFINITION
void  parse_addressing_mode ( );

method parse_addressing_mode_notationprivate

DEFINITION
AddressingMode::Notation  parse_addressing_mode_notation ( const AddressingMode & addressing_mode,
const StructuredScalar * parameters );
PARAMETERDESCRIPTION
addressing_mode
parameters
RETURNSDESCRIPTION
AddressingMode::Notation

method parse_argument_typeprivate

DEFINITION
void  parse_argument_type ( );

method parse_argument_type_encodingprivate

DEFINITION
std::unique_ptr< ArgumentType >  parse_argument_type_encoding ( const Token & name,
const StructuredValue * parameters );
PARAMETERDESCRIPTION
name
parameters
RETURNSDESCRIPTION
std::unique_ptr< ArgumentType >

method parse_argument_type_enumprivate

DEFINITION
std::unique_ptr< ArgumentType >  parse_argument_type_enum ( const Token & name,
const StructuredValue * parameters );
PARAMETERDESCRIPTION
name
parameters
RETURNSDESCRIPTION
std::unique_ptr< ArgumentType >

method parse_argument_type_mapprivate

DEFINITION
std::unique_ptr< ArgumentType >  parse_argument_type_map ( const Token & name,
const StructuredValue * parameters );
PARAMETERDESCRIPTION
name
parameters
RETURNSDESCRIPTION
std::unique_ptr< ArgumentType >

method parse_argument_type_rangeprivate

DEFINITION
std::unique_ptr< ArgumentType >  parse_argument_type_range ( const Token & name,
const StructuredValue * parameters );
PARAMETERDESCRIPTION
name
parameters
RETURNSDESCRIPTION
std::unique_ptr< ArgumentType >

method parse_byte_orderprivate

DEFINITION
void  parse_byte_order ( );

method parse_directivevirtual protected

DEFINITION
virtual void  parse_directive ( const Token & directive );
PARAMETERDESCRIPTION
directive

method parse_instructionprivate

DEFINITION
void  parse_instruction ( );

method parse_syntaxprivate

DEFINITION
void  parse_syntax ( );

member addressing_mode_namesprivate

DEFINITION
std::unordered_set< Token >  addressing_mode_names;

member argument_type_namesprivate

DEFINITION
std::unordered_set< Token >  argument_type_names;

member argument_type_parser_methodsstatic private

DEFINITION
static std::unordered_map< Symbol, std::unique_ptr< ArgumentType >(CPUParser::*)(const Token &name, const StructuredValue *parameters)>  argument_type_parser_methods;

member cpuprivate

DEFINITION
CPU  cpu;

member initializedstatic private

DEFINITION
static bool  initialized;

member parser_methodsstatic private

DEFINITION
static std::unordered_map< Symbol, void(CPUParser::*)()>  parser_methods;

member token_anystatic private

DEFINITION
static Token  token_any;

member token_argumentsstatic private

DEFINITION
static Token  token_arguments;

member token_commastatic private

DEFINITION
static Token  token_comma;

member token_encodingstatic private

DEFINITION
static Token  token_encoding;

member token_keywordsstatic private

DEFINITION
static Token  token_keywords;

member token_minusstatic private

DEFINITION
static Token  token_minus;

member token_notationstatic private

DEFINITION
static Token  token_notation;

member token_opcodestatic private

DEFINITION
static Token  token_opcode;

member token_pcstatic private

DEFINITION
static Token  token_pc;

member token_punctuationstatic private

DEFINITION
static Token  token_punctuation;