added string test and it works
This commit is contained in:
19
tester.cpp
19
tester.cpp
@@ -283,15 +283,28 @@ void testInt()
|
|||||||
v->assignment(new expression(new constOp("2", T_INT)));
|
v->assignment(new expression(new constOp("2", T_INT)));
|
||||||
print=new printSegment(new expression(v));
|
print=new printSegment(new expression(v));
|
||||||
print->generate();
|
print->generate();
|
||||||
label::generateEnd();
|
delete print;
|
||||||
|
}
|
||||||
|
|
||||||
|
void testString()
|
||||||
|
{
|
||||||
|
string name=string("name1");
|
||||||
|
v=variableType::getOrCreateVar(name, T_STRINGVAR);
|
||||||
|
v->assignment(new expression(new constOp("Hello", T_STRING)));
|
||||||
|
print=new printSegment(new expression(v), S_SEMICOLON);
|
||||||
|
print->generate();
|
||||||
|
delete print;
|
||||||
|
print=new printSegment(new expression(new constOp(" world!", T_STRING)));
|
||||||
|
print->generate();
|
||||||
|
delete print;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* open files and compile */
|
/* open files and compile */
|
||||||
void compile()
|
void compile()
|
||||||
{
|
{
|
||||||
setUp();
|
setUp();
|
||||||
|
|
||||||
testInt();
|
testInt();
|
||||||
|
testString();
|
||||||
|
label::generateEnd();
|
||||||
shutDown();
|
shutDown();
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -22,7 +22,7 @@ void printSegment::generate()
|
|||||||
switch (op->getSimpleVarType())
|
switch (op->getSimpleVarType())
|
||||||
{
|
{
|
||||||
case T_STRINGVAR:
|
case T_STRINGVAR:
|
||||||
output_cpp << "puts(" << op->boxName() << ");\n";
|
output_cpp << "puts(" << op->boxName() << ".c_str());\n";
|
||||||
break;
|
break;
|
||||||
case T_INTVAR:
|
case T_INTVAR:
|
||||||
output_cpp << "printf(\"%d\", " << op->boxName() << ");\n";
|
output_cpp << "printf(\"%d\", " << op->boxName() << ");\n";
|
||||||
|
|||||||
Reference in New Issue
Block a user