#ifndef APPLESOFTRETOKENIZER_H #define APPLESOFTRETOKENIZER_H #include "applesoftline.h" #include #include #include #include class ApplesoftRetokenizer { public: ApplesoftRetokenizer(); void setData(QByteArray data); void parse(quint16 start_address = 0x0801); quint16 getEndOfDataOffset() const { return m_data_end; } QVector getRetokenizedLines() { return m_retokenized_lines; } QList > getFlowTargets() const { return m_flowTargets; } private: void retokenizeLinesForFormatting(); void retokenizeLine(ApplesoftLine &line); QList retokenizeRems(QList &datatokens); QList retokenizeStrings(QList &datatokens); QList retokenizeDataStatements(QList &datatokens); QList retokenizeDataPayload(QList &datatokens); QList retokenizeVariables(QList &datatokens); QList retokenizeNumbers(QList &datatokens); QList retokenizeNegativeNumbers(QList &datatokens); QVector m_retokenized_lines; QByteArray m_data; quint16 m_data_end; bool m_isParsed; QList > m_flowTargets; }; #endif // APPLESOFTRETOKENIZER_H