Code generation and output file gen
This commit is contained in:
parent
3ea0178678
commit
26d10cfef0
8 changed files with 197 additions and 69 deletions
|
|
@ -1,10 +1,10 @@
|
|||
namespace Compiler.Parser
|
||||
namespace Compiler.Parser.Nodes
|
||||
{
|
||||
public enum NodeType
|
||||
{
|
||||
ProgramNode,
|
||||
FunctionNode,
|
||||
StatementNode,
|
||||
ReturnStatementNode,
|
||||
ExpressionNode
|
||||
}
|
||||
}
|
||||
|
|
@ -6,7 +6,7 @@ namespace Compiler.Parser.Nodes
|
|||
|
||||
public ReturnNode()
|
||||
{
|
||||
this.NodeType = NodeType.StatementNode;
|
||||
this.NodeType = NodeType.ReturnStatementNode;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -80,14 +80,14 @@ namespace Compiler.Parser
|
|||
CheckFirstTokenAndRemove(TokenType.OpenBraceToken);
|
||||
|
||||
//add returned child node to AST
|
||||
n.Children.Add(Parse(NodeType.StatementNode));
|
||||
n.Children.Add(Parse(NodeType.ReturnStatementNode));
|
||||
|
||||
//remove trailing }
|
||||
CheckFirstTokenAndRemove(TokenType.CloseBraceToken);
|
||||
|
||||
break;
|
||||
|
||||
case NodeType.StatementNode:
|
||||
case NodeType.ReturnStatementNode:
|
||||
|
||||
//TODO: This Type of return/statement node will probably need fixing later
|
||||
n = new ReturnNode();
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue