예제 #1
0
파일: xs6Tree.c 프로젝트: basuke/kinomajs
txEvalNode* fxEvalNodeNew(txParser* parser, txToken token, txScope* scope)
{
	txEvalNode* node = fxNewParserChunkClear(parser, sizeof(txEvalNode));
	node->description = &gxTokenDescriptions[token];
	node->scope = scope;
	return node;
}
예제 #2
0
파일: xs6Tree.c 프로젝트: basuke/kinomajs
txDefineNode* fxDefineNodeNew(txParser* parser, txToken token, txSymbol* symbol)
{
	txDefineNode* node = fxNewParserChunkClear(parser, sizeof(txDefineNode));
	node->description = &gxTokenDescriptions[token];
	node->symbol = symbol;
	return node;
}
예제 #3
0
void fxInitializeParser(txParser* parser, void* console, txSize bufferSize, txSize symbolModulo)
{
	c_memset(parser, 0, sizeof(txParser));
	parser->first = C_NULL;
	parser->console = console;

	parser->buffer = fxNewParserChunk(parser, bufferSize);
	parser->bufferSize = bufferSize;
	
	parser->dtoa = fxNew_dtoa();
	parser->symbolModulo = symbolModulo;
	parser->symbolTable = fxNewParserChunkClear(parser, parser->symbolModulo * sizeof(txSymbol*));

	parser->emptyString = fxNewParserString(parser, "", 0);

	parser->ObjectSymbol = fxNewParserSymbol(parser, "Object");
	parser->__dirnameSymbol = fxNewParserSymbol(parser, "__dirname");
	parser->__filenameSymbol = fxNewParserSymbol(parser, "__filename");
	parser->__proto__Symbol = fxNewParserSymbol(parser, "__proto__");
	parser->allSymbol = fxNewParserSymbol(parser, "*");
	parser->argsSymbol = fxNewParserSymbol(parser, "args");
	parser->argumentsSymbol = fxNewParserSymbol(parser, "arguments");
	parser->arrowSymbol = fxNewParserSymbol(parser, "=>");
	parser->asSymbol = fxNewParserSymbol(parser, "as");
	parser->constructorSymbol = fxNewParserSymbol(parser, "constructor");
	parser->defaultSymbol = fxNewParserSymbol(parser, "*default*");
	parser->doneSymbol = fxNewParserSymbol(parser, "done");
	parser->evalSymbol = fxNewParserSymbol(parser, "eval");
	parser->exportsSymbol = fxNewParserSymbol(parser, "exports");
	parser->freezeSymbol = fxNewParserSymbol(parser, "freeze");
	parser->fromSymbol = fxNewParserSymbol(parser, "from");
	parser->getSymbol = fxNewParserSymbol(parser, "get");
	parser->idSymbol = fxNewParserSymbol(parser, "id");
	parser->includeSymbol = fxNewParserSymbol(parser, "include");
	parser->lengthSymbol = fxNewParserSymbol(parser, "length");
	parser->letSymbol = fxNewParserSymbol(parser, "let");
	parser->moduleSymbol = fxNewParserSymbol(parser, "module");
	parser->nextSymbol = fxNewParserSymbol(parser, "next");
	parser->ofSymbol = fxNewParserSymbol(parser, "of");
	parser->prototypeSymbol = fxNewParserSymbol(parser, "prototype");
	parser->rawSymbol = fxNewParserSymbol(parser, "raw");
	parser->RegExpSymbol = fxNewParserSymbol(parser, "RegExp");
	parser->returnSymbol = fxNewParserSymbol(parser, "return");
	parser->setSymbol = fxNewParserSymbol(parser, "set");
	parser->sliceSymbol = fxNewParserSymbol(parser, "slice");
	parser->thisSymbol = fxNewParserSymbol(parser, "this");
	parser->targetSymbol = fxNewParserSymbol(parser, "target");
	parser->toStringSymbol = fxNewParserSymbol(parser, "toString");
	parser->undefinedSymbol = fxNewParserSymbol(parser, "undefined");
	parser->uriSymbol = fxNewParserSymbol(parser, "uri");
	parser->valueSymbol = fxNewParserSymbol(parser, "value");
	parser->withSymbol = fxNewParserSymbol(parser, "with");
	parser->yieldSymbol = fxNewParserSymbol(parser, "yield");
}
예제 #4
0
파일: xs6Tree.c 프로젝트: basuke/kinomajs
txLabelNode* fxLabelNodeNew(txParser* parser)
{
	txLabelNode* node = fxNewParserChunkClear(parser, sizeof(txLabelNode));
	return node;
}
예제 #5
0
파일: xs6Tree.c 프로젝트: basuke/kinomajs
txNode* fxValueNodeNew(txParser* parser, txToken token)
{
	txNode* node = fxNewParserChunkClear(parser, sizeof(txNode));
	node->description = &gxTokenDescriptions[token];
	return node;
}