jedparser: include previous Note. Usefull to determine area

This commit is contained in:
Gwenhael Goavec-Merou 2019-11-20 20:41:59 +01:00
parent 7fb114f172
commit d93bc79329
2 changed files with 8 additions and 1 deletions

View File

@ -175,6 +175,8 @@ void JedParser::parseLField(vector<string> content)
int JedParser::parse()
{
string previousNote;
if (!_fd.is_open()) {
_fd.open(_filename);
if (!_fd.is_open()) {
@ -207,6 +209,7 @@ int JedParser::parse()
switch (lines[0][0]) {
case 'N': // note
previousNote = lines[0].substr(5);
break;
case 'Q':
int count;
@ -242,6 +245,7 @@ int JedParser::parse()
break;
case 'L': // fuse offset
parseLField(lines);
_data_list[_data_list.size()-1].associatedPrevNote = previousNote;
break;
default:
printf("inconnu\n");
@ -251,7 +255,8 @@ int JedParser::parse()
int size = 0;
for (size_t i = 0; i < _data_list.size(); i++) {
printf("area[%ld] %d %d\n", i, _data_list[i].offset, _data_list[i].len);
printf("area[%ld] %d %d ", i, _data_list[i].offset, _data_list[i].len);
printf("%s\n", _data_list[i].associatedPrevNote.c_str());
size += _data_list[i].len;
}

View File

@ -32,6 +32,7 @@ class JedParser: public ConfigBitstreamParser {
int offset;
std::vector<std::string> data;
int len;
std::string associatedPrevNote;
};
public:
@ -44,6 +45,7 @@ class JedParser: public ConfigBitstreamParser {
std::vector<std::string> data_for_section(int id) {
return _data_list[id].data;
}
std::string noteForSection(int id) {return _data_list[id].associatedPrevNote;}
uint32_t feabits() {return _feabits;}
uint64_t featuresRow() {return _featuresRow;}