Beispiel #1
0
int CMuseDataHeader::parseFromRecord(char *line,int lineNr)
{
	parseLineNr++;
	switch(parseLineNr){
	case 1: strncpy(rec1,line,80);break;
	case 2: strncpy(rec2,line,80);break;
	case 3: strncpy(rec3,line,80);break;
	case 4: strncpy(date_name,line,80);break;
	case 5: strncpy(work_movement,line,80);break;
	case 6: strncpy(source,line,80);break;
	case 7: strncpy(movement_title,line,80);break;
	case 8: strncpy(work_title,line,80);break;
	case 9: strncpy(name_of_part,line,80);break;
	case 10: parseMiscDest(line);break;
	case 11: return parseGroupMemberships(line);break;
	default:
		if(line[0]=='$'){
			//return parseMusicalAttributes(line,lineNr);
			return 1;
		} else {
			if (attributesRead){
//TODO: check read attributes!
				return 1;
			} //this is the first line after the header!!
			return parseGroupPart(line);
		}
	}
	return 0;
}
Beispiel #2
0
// group-part
// group group-part
bool Preprocessor::parseGroup(Item *group)
{
    Q_ASSERT(group->toItemComposite());
    bool gotGroup = false;
    while(lexerTokenIndex < numTokens) {
        if (!parseGroupPart(group))
            break;
        gotGroup = true;
    }
    return gotGroup;
}