86 creator_(creator), startAddress_(startAddress) {
107 creator_(creator), move_(move) {
127 creator_(creator), startAddress_(startAddress) {
147 creator_(creator), dataLine_(dataLine) {
169 std::string& name,
UValue& value) :
170 manager_(manager), aSpace_(aSpace),
171 name_(name), value_(value) {
192 std::string& name,
UValue& value) :
194 name_(name), value_(value) {
216 std::string str(start, end);
234 bool codeLinesOnly) :
236 resourceManager_(aBin, aMach, parserDiagnostic),
237 dataSectionCreator_(resourceManager_, parserDiagnostic),
238 codeSectionCreator_(resourceManager_, aMach, parserDiagnostic),
239 labelManager_(aBin, resourceManager_, parserDiagnostic),
240 codeLinesOnly_(codeLinesOnly) {
255#if BOOST_VERSION >= 103800
256 return boost::spirit::classic::parse(asmCode.c_str(), *
this).full;
258 return boost::spirit::parse(asmCode.c_str(), *
this).full;
const DataLine & dataLine_
DataSectionCreator & creator_
void operator()(const char *, const char *) const
AddDataLineActor(DataSectionCreator &creator, const DataLine &dataLine)
AddDataLineActor.
AddLabelActor(LabelManager &manager, TPEF::ASpaceElement &aSpace, std::string &name, UValue &value)
AddLabelActor.
void operator()(const char *, const char *) const
TPEF::ASpaceElement & aSpace_
AddMoveActor(CodeSectionCreator &creator, const ParserMove &move)
AddMoveActor.
CodeSectionCreator & creator_
void operator()(const char *, const char *) const
AddProcedureActor(LabelManager &manager, std::string &name, UValue &value)
AddProcedureActor.
void operator()(const char *, const char *) const
void newSection(UValue startAddress)
void addMove(const ParserMove &move)
void finalize(TPEF::Binary &tpef, LabelManager &labels)
void addDataLine(const DataLine &origLine)
void finalize(TPEF::Binary &tpef, LabelManager &labels, bool littleEndian)
void setAreaStartAddress(UValue address)
void addProcedure(std::string &name, UValue value)
void setGlobal(std::string &labelName)
void addLabel(TPEF::ASpaceElement &aSpace, std::string &name, UValue value)
CodeSectionCreator & creator_
void operator()(const char *, const char *) const
NewCodeSectionActor(CodeSectionCreator &creator, UValue &startAddress)
NewCodeSectionActor.
void operator()(const char *, const char *) const
PrintString(const char *aStr)
PrintString actor.
void operator()(const char *start, const char *end) const
SetGlobalActor(LabelManager &manager)
SetGlobalActor.
DataSectionCreator & creator_
SetStartAddressActor(DataSectionCreator &creator, UValue &startAddress)
SetStartAddressActor.
void operator()(const char *, const char *) const
void setArch(FileArchitecture arch)
@ FT_PARALLEL
Fully scheduled or mixed code.
@ FA_TTA_TUT
New TTA template.
void setType(FileType type)
LabelManager labelManager_
Creates symbol and relocation sections.
void finalize(bool littleEndian) const
AssemblerParser(TPEF::Binary &aBin, const TTAMachine::Machine &aMach, AssemblyParserDiagnostic *parserDiagnostic, bool codeLinesOnly=false)
AssemblerParser.
ParserTemp parserTemp_
Temp-structure containing most recent parsed tokens.
TPEF::Binary & bin_
TPEF where to program is compiled.
DataSectionCreator dataSectionCreator_
Creates data sections.
CodeSectionCreator codeSectionCreator_
Creates code section.
bool compile(const std::string &asmCode) const
UValue lineNumber
Line number of currently parsed line.