Exemple #1
0
//-------------------------------------------------------------------------------
QStandardItemModel* parseProjectFile(QString filename)
{
    QString text = getTextFromFile(filename);
    //    qDebug() << "namespace = " << getNamespace(&text);
    //    qDebug() << "virtualFolder=  " << getVirtualFolder(&text);
    //    qDebug() << "files = " << parseFiles(&text);
    //    QString str = "";
    QStandardItemModel *model;
    return model;
}
Exemple #2
0
command_stream_t
make_command_stream (int (*get_next_byte) (void *),
		     void *get_next_byte_argument)
{
	//exit(1);
  /* FIXME: Replace this with your implementation.  You may need to
     add auxiliary functions and otherwise modify the source code.
     You can also use external functions defined in the GNU C Library.  */
	//printf("make_command_stream");

	char* fileString = getTextFromFile(get_next_byte, get_next_byte_argument);
	//printString(fileString);
	//checkParen(fileString);

	//printf("before makeCommandList");
	command_t commList = makeCommandList(fileString);
	//printString(fileString);
	//printf("sizeList: %d\n", g_commandListLength);
	//printCommandList(commList, g_commandListLength);
	//printCommandList(commList, g_commandListLength);
	//printString(fileString);
	checkCommandList(commList);

	//printCommandList(commList, g_commandListLength);
	checkParen(commList);
	//printCommandList(commList, g_commandListLength);
	
	int numSequenceCommands = countSequenceCommands(commList);

	int* rootList = malloc(sizeof(int)*numSequenceCommands);
	int rootListIndex = 0;
	int i = 0;
	//int index = -1;
	int index = buildTree(commList, i, rootListIndex, rootList);
	while(index != -1)
	{
		rootListIndex++;
		//printf("rootListIndex: %d\n", rootListIndex);
	//	printf("last index: %d\n", index);
		index = buildTree(commList, index+1, rootListIndex, rootList);
	}
	int j;
	for(j = 0; j < numSequenceCommands+1; j++)
	{
		//printf("index %d: %d\n", j, rootList[j]);
	}

	int k;
	command_t* finalCommList = malloc(sizeof(command_t)*(numSequenceCommands+1));
	int kmax = numSequenceCommands;
	//printf("numSequenceCommands: %d\n", numSequenceCommands);
	int last = g_commandListLength-1;
	/*for(last; last> 0; last--)
	{
		if(commList[last].type != IGNORE_COMMAND && commList[last].type != NEW_LINE && commList[last].type != SEQUENCE_COMMAND)
		{
			break;
		}
		if(commList[last].type == SEQUENCE_COMMAND)
		{
			kmax--;
		}
	}*/
	/*if(commList[g_commandListLength-2].type == SEQUENCE_COMMAND)
	{
		printf("kmax--");
		kmax--;
	}
	else
	{

	}*/
	for(k = 0; k < kmax; k++)
	{
		//printf("add to final comm list: %d\n", k);
		int index = rootList[k];
		finalCommList[k] = &commList[index];
	}

	int x;
	for(x = 0; x < kmax; x++)
	{
		//printf("print  final comm list: %d\n", x);
		//print_command(finalCommList[x]);
	}
	
	command_stream_t treeList = malloc(sizeof(struct command_stream));
	treeList->treeHead = finalCommList;
	treeList->size = kmax;
	/*//int size = sizeof(command_t);
	//int k = sizeof(int*);
	//printf("size of int*: %d\n", k);
	//printf(typeof(command_t));
	//printf("size of command_t: %d\n", sizeof(command_t));
	*/
	/*int i;
	for(i = 0; i < 3; i++)
	{
		printf("commList[%d].status: %d", i, commList[i].status);
	}*/
	
  //error (1, 0, "command reading not yet implemented");
	/*char* ch = malloc(sizeof(char)*2);
	ch[0] = 't';
	ch[1] = 'e';
	printf("%s\n", ch);*/
	//free(rootList);
	free(fileString);
  return treeList;
  return 0;
}