broke Compiler::write() into Compiler::writeHeader() and Compiler::writeFunction()

git-svn-id: svn://anubis/jtlc/trunk@26 f5bc74b8-7b62-4e90-9214-7121d538519f
This commit is contained in:
josh committed 2010-01-19 16:20:27 +00:00
1 parent b23442a2f4
commit d052712d94
9 files changed
+77 -27

No files matched your search

+2 -2
View File
@@ -8,6 +8,6 @@ using namespace std;
void CStatementNode::process(refptr<Compiler> compiler)
{
compiler->write(m_string);
compiler->write("\n");
compiler->writeFunction(m_string);
compiler->writeFunction("\n");
}
+1 -1
View File
@@ -9,5 +9,5 @@ void DoubleNode::process(refptr<Compiler> compiler)
{
char buff[50];
sprintf(buff, "%lf", m_double);
compiler->write(buff);
compiler->writeFunction(buff);
}
+10 -9
View File
@@ -10,23 +10,24 @@ void FunctionNode::process(refptr<Compiler> compiler)
refptr<Node> name = m_children[0];
refptr<Node> params = m_children[1];
refptr<Node> type = m_children[2];
compiler->write(type->getString());
compiler->write(" ");
compiler->write(name->getString());
compiler->write("(");
compiler->beginFunction(name->getString());
compiler->writeFunction(type->getString());
compiler->writeFunction(" ");
compiler->writeFunction(name->getString());
compiler->writeFunction("(");
for (int i = 0, sz = params->getChildren().size(); i < sz; i++)
{
if (i > 0)
{
compiler->write(", ");
compiler->writeFunction(", ");
}
compiler->write(params->getChildren()[i]->getString());
compiler->writeFunction(params->getChildren()[i]->getString());
}
compiler->write(")\n");
compiler->write("{\n");
compiler->writeFunction(")\n");
compiler->writeFunction("{\n");
for (int i = 3, sz = m_children.size(); i < sz; i++)
{
m_children[i]->process(compiler);
}
compiler->write("}\n\n");
compiler->writeFunction("}\n\n");
}
+1 -1
View File
@@ -9,5 +9,5 @@ void IntegerNode::process(refptr<Compiler> compiler)
{
char buff[30];
sprintf(buff, "%llu", (long long unsigned int) m_integer);
compiler->write(buff);
compiler->writeFunction(buff);
}
+2 -2
View File
@@ -7,7 +7,7 @@ using namespace std;
void ReturnStatementNode::process(refptr<Compiler> compiler)
{
compiler->write("return (");
compiler->writeFunction("return (");
m_children[0]->process(compiler);
compiler->write(");\n");
compiler->writeFunction(");\n");
}
+1 -1
View File
@@ -7,5 +7,5 @@ using namespace std;
void StringNode::process(refptr<Compiler> compiler)
{
compiler->write(m_string);
compiler->writeFunction(m_string);
}