Example #1
0
static void PrintExprBinary(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ExprBinary *enode = (ZCC_ExprBinary *)node;
	OpenExprType(out, enode->Operation);
	PrintNodes(out, enode->Left);
	PrintNodes(out, enode->Right);
	out.Close();
}
Example #2
0
static void PrintClassType(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ClassType *tnode = (ZCC_ClassType *)node;
	out.Open("class-type");
	PrintNodes(out, tnode->ArraySize);
	PrintNodes(out, tnode->Restriction);
	out.Close();
}
Example #3
0
static void PrintLocalVarStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_LocalVarStmt *snode = (ZCC_LocalVarStmt *)node;
	out.Open("local-var-stmt");
	PrintNodes(out, snode->Type);
	PrintNodes(out, snode->Vars);
	out.Close();
}
Example #4
0
static void PrintAssignStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_AssignStmt *snode = (ZCC_AssignStmt *)node;
	out.Open("assign-stmt");
	PrintNodes(out, snode->Dests);
	PrintNodes(out, snode->Sources);
	out.Close();
}
Example #5
0
static void PrintDynArrayType(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_DynArrayType *tnode = (ZCC_DynArrayType *)node;
	out.Open("dyn-array-type");
	PrintNodes(out, tnode->ArraySize);
	PrintNodes(out, tnode->ElementType);
	out.Close();
}
Example #6
0
static void PrintStates(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_States *snode = (ZCC_States *)node;
	out.Break();
	out.Open("states");
	PrintNodes(out, snode->Flags, false, true);
	PrintNodes(out, snode->Body, false, true);
	out.Close();
}
Example #7
0
static void PrintVectorInitializer(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_VectorValue *enode = (ZCC_VectorValue *)node;
	OpenExprType(out, enode->Operation);
	PrintNodes(out, enode->X);
	PrintNodes(out, enode->Y);
	PrintNodes(out, enode->Z);
	out.Close();
}
Example #8
0
static void PrintStaticArray(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_StaticArrayStatement *enode = (ZCC_StaticArrayStatement *)node;
	out.Open("static-array-stmt");
	PrintNodes(out, enode->Type, false);
	out.AddName(enode->Id);
	PrintNodes(out, enode->Values, false);
	out.Close();
}
Example #9
0
static void PrintExprFuncCall(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ExprFuncCall *enode = (ZCC_ExprFuncCall *)node;
	assert(enode->Operation == PEX_FuncCall);
	out.Open("expr-func-call");
	PrintNodes(out, enode->Function);
	PrintNodes(out, enode->Parameters, false);
	out.Close();
}
Example #10
0
static void PrintMapType(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_MapType *tnode = (ZCC_MapType *)node;
	out.Open("map-type");
	PrintNodes(out, tnode->ArraySize);
	PrintNodes(out, tnode->KeyType);
	PrintNodes(out, tnode->ValueType);
	out.Close();
}
Example #11
0
static void PrintStateGoto(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_StateGoto *snode = (ZCC_StateGoto *)node;
	out.Open("state-goto");
	PrintNodes(out, snode->Qualifier);
	PrintNodes(out, snode->Label);
	PrintNodes(out, snode->Offset);
	out.Close();
}
Example #12
0
static void PrintPropertyStmt(FLispString &out, ZCC_TreeNode *node)
{
	auto dnode = (ZCC_PropertyStmt *)node;
	out.Break();
	out.Open("property-stmt");
	PrintNodes(out, dnode->Prop, false);
	PrintNodes(out, dnode->Values, false);
	out.Close();
}
Example #13
0
static void PrintVarDeclarator(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_VarDeclarator *dnode = (ZCC_VarDeclarator *)node;
	out.Break();
	out.Open("var-declarator");
	out.AddHex(dnode->Flags);
	PrintNodes(out, dnode->Type);
	PrintNodes(out, dnode->Names);
	out.Close();
}
Example #14
0
static void PrintSwitchStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_SwitchStmt *snode = (ZCC_SwitchStmt *)node;
	out.Break();
	out.Open("switch-stmt");
	PrintNodes(out, snode->Condition);
	out.Break();
	PrintNodes(out, snode->Content, false);
	out.Close();
}
Example #15
0
static void PrintVarInit(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_VarInit *vnode = (ZCC_VarInit *)node;
	out.Open("var-init");
	PrintNodes(out, vnode->ArraySize);
	PrintNodes(out, vnode->Init);
	if (vnode->InitIsArray) out.Add("array", 5);
	out.AddName(vnode->Name);
	out.Close();
}
Example #16
0
static void PrintFuncParamDecl(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_FuncParamDecl *dnode = (ZCC_FuncParamDecl *)node;
	out.Break();
	out.Open("func-param-decl");
	PrintNodes(out, dnode->Type);
	out.AddName(dnode->Name);
	out.AddHex(dnode->Flags);
	PrintNodes(out, dnode->Default);
	out.Close();
}
Example #17
0
static void PrintClass(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_Class *cnode = (ZCC_Class *)node;
	out.Break();
	out.Open("class");
	out.AddName(cnode->NodeName);
	PrintNodes(out, cnode->ParentName);
	PrintNodes(out, cnode->Replaces);
	out.AddHex(cnode->Flags);
	PrintNodes(out, cnode->Body, false, true);
	out.Close();
}
Example #18
0
static void PrintIfStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_IfStmt *snode = (ZCC_IfStmt *)node;
	out.Break();
	out.Open("if-stmt");
	PrintNodes(out, snode->Condition);
	out.Break();
	PrintNodes(out, snode->TruePath);
	out.Break();
	PrintNodes(out, snode->FalsePath);
	out.Close();
}
Example #19
0
static void PrintBasicType(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_BasicType *tnode = (ZCC_BasicType *)node;
	out.Open("basic-type");
	PrintNodes(out, tnode->ArraySize);
	PrintBuiltInType(out, tnode->Type);
	if (tnode->Type == ZCC_UserType || tnode->Type == ZCC_NativeType)
	{
		if (tnode->Type == ZCC_NativeType) out.Add("@", 1);
		PrintNodes(out, tnode->UserType, false);
	}
	out.Close();
}
Example #20
0
static void PrintFuncDeclarator(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_FuncDeclarator *dnode = (ZCC_FuncDeclarator *)node;
	out.Break();
	out.Open("func-declarator");
	out.AddHex(dnode->Flags);
	PrintNodes(out, dnode->UseFlags);
	PrintNodes(out, dnode->Type);
	out.AddName(dnode->Name);
	PrintNodes(out, dnode->Params);
	PrintNodes(out, dnode->Body, false);
	out.Close();
}
Example #21
0
static void PrintIterationStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_IterationStmt *snode = (ZCC_IterationStmt *)node;
	out.Break();
	out.Open("iteration-stmt");
	out.Add((snode->CheckAt == ZCC_IterationStmt::Start) ? "start" : "end");
	out.Break();
	PrintNodes(out, snode->LoopCondition);
	out.Break();
	PrintNodes(out, snode->LoopBumper);
	out.Break();
	PrintNodes(out, snode->LoopStatement);
	out.Close();
}
Example #22
0
static void PrintExprUnary(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ExprUnary *enode = (ZCC_ExprUnary *)node;
	OpenExprType(out, enode->Operation);
	PrintNodes(out, enode->Operand, false);
	out.Close();
}
Example #23
0
static void PrintStateLine(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_StateLine *snode = (ZCC_StateLine *)node;
	out.Open("state-line");
	out.Add(*(snode->Sprite));
	PrintNodes(out, snode->Duration);
	if (snode->bNoDelay) out.Add("nodelay", 7);
	if (snode->bBright) out.Add("bright", 6);
	if (snode->bFast) out.Add("fast", 4);
	if (snode->bSlow) out.Add("slow", 4);
	if (snode->bCanRaise) out.Add("canraise", 8);
	out.Add(*(snode->Frames));
	PrintNodes(out, snode->Offset);
	PrintNodes(out, snode->Action, false);
	out.Close();
}
Example #24
0
static void PrintType(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_Type *tnode = (ZCC_Type *)node;
	out.Open("bad-type");
	PrintNodes(out, tnode->ArraySize);
	out.Close();
}
Example #25
0
main()
{
	NodePtr top = NULL;
	NodePtr temp;
	int i;

	/* create the stack */
	for(i = 0; i < ITER; i++)
		Push(&top, i + 1);

	/* delete the top node */
	if (top)
	{
		printf("Top node datum is %d,\n", top->data);
		
		/* get top node */	
		temp = top;
	
		/* advance to next node before deleting */
		top = top->link;
	
		/* delete top node by freeing temp */
		free(temp);

		printf("This node has been deleted.\n");
	}
	else 
		printf("The stack is empty.\n");

	/* print the stack */
	PrintNodes(top);
}
Example #26
0
static void PrintCompoundStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_CompoundStmt *snode = (ZCC_CompoundStmt *)node;
	out.Break();
	out.Open("compound-stmt");
	PrintNodes(out, snode->Content, false, true);
	out.Close();
}
Example #27
0
static void PrintDefault(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_Default *snode = (ZCC_Default *)node;
	out.Break();
	out.Open("default");
	PrintNodes(out, snode->Content, false, true);
	out.Close();
}
Example #28
0
static void PrintExpressionStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ExpressionStmt *snode = (ZCC_ExpressionStmt *)node;
	out.Break();
	out.Open("expression-stmt");
	PrintNodes(out, snode->Expression, false);
	out.Close();
}
Example #29
0
static void PrintReturnStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_ReturnStmt *snode = (ZCC_ReturnStmt *)node;
	out.Break();
	out.Open("return-stmt");
	PrintNodes(out, snode->Values, false);
	out.Close();
}
Example #30
0
static void PrintCaseStmt(FLispString &out, ZCC_TreeNode *node)
{
	ZCC_CaseStmt *snode = (ZCC_CaseStmt *)node;
	out.Break();
	out.Open("case-stmt");
	PrintNodes(out, snode->Condition, false);
	out.Close();
}