Go to the documentation of this file.
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;
DataSectionCreator & creator_
void newSection(UValue startAddress)
SetStartAddressActor(DataSectionCreator &creator, UValue &startAddress)
SetStartAddressActor.
void operator()(const char *, const char *) const
void operator()(const char *, const char *) const
LabelManager labelManager_
Creates symbol and relocation sections.
NewCodeSectionActor(CodeSectionCreator &creator, UValue &startAddress)
NewCodeSectionActor.
DataSectionCreator & creator_
void operator()(const char *, const char *) const
void addProcedure(std::string &name, UValue value)
void setType(FileType type)
void finalize(bool littleEndian) const
void addMove(const ParserMove &move)
CodeSectionCreator & creator_
AddLabelActor(LabelManager &manager, TPEF::ASpaceElement &aSpace, std::string &name, UValue &value)
AddLabelActor.
SetGlobalActor(LabelManager &manager)
SetGlobalActor.
UValue lineNumber
Line number of currently parsed line.
PrintString(const char *aStr)
PrintString actor.
void addLabel(TPEF::ASpaceElement &aSpace, std::string &name, UValue value)
AssemblerParser(TPEF::Binary &aBin, const TTAMachine::Machine &aMach, AssemblyParserDiagnostic *parserDiagnostic, bool codeLinesOnly=false)
AssemblerParser.
void finalize(TPEF::Binary &tpef, LabelManager &labels, bool littleEndian)
DataSectionCreator dataSectionCreator_
Creates data sections.
void setGlobal(std::string &labelName)
const DataLine & dataLine_
void operator()(const char *, const char *) const
void finalize(TPEF::Binary &tpef, LabelManager &labels)
void setAreaStartAddress(UValue address)
ParserTemp parserTemp_
Temp-structure containing most recent parsed tokens.
void operator()(const char *, const char *) const
TPEF::ASpaceElement & aSpace_
CodeSectionCreator & creator_
CodeSectionCreator codeSectionCreator_
Creates code section.
AddDataLineActor(DataSectionCreator &creator, const DataLine &dataLine)
AddDataLineActor.
void operator()(const char *start, const char *end) const
void operator()(const char *, const char *) const
AddMoveActor(CodeSectionCreator &creator, const ParserMove &move)
AddMoveActor.
void addDataLine(const DataLine &origLine)
bool compile(const std::string &asmCode) const
void operator()(const char *, const char *) const
TPEF::Binary & bin_
TPEF where to program is compiled.
AddProcedureActor(LabelManager &manager, std::string &name, UValue &value)
AddProcedureActor.
void setArch(FileArchitecture arch)