// Return from a method
case TOK_RWD_RETURN:
- //printf("return\n");
GetToken(Parser);
ret = AST_NewUniOp(Parser, NODETYPE_RETURN, Parse_DoExpr0(Parser));
break;
}
/**
- * \brief Get an identifier (constand or function call)
+ * \brief Get an identifier (constant or function call)
*/
tAST_Node *Parse_GetIdent(tParser *Parser)
{
- tAST_Node *ret;
+ tAST_Node *ret = NULL;
char *name;
SyntaxAssert(Parser, GetToken(Parser), TOK_IDENT );
name = strndup( Parser->TokenStr, Parser->TokenLen );
#if 0
while( GetToken(Parser) == TOK_SCOPE )
{
- ret = AST_New
+ ret = AST_NewScopeDereference( Parser, ret, name );
+ SyntaxAssert(Parser, GetToken(Parser), TOK_IDENT );
+ name = strndup( Parser->TokenStr, Parser->TokenLen );
}
PutBack(Parser);
#endif
}
}
else {
- // Runtime Constant
+ // Runtime Constant / Variable (When implemented)
#if DEBUG >= 2
printf("Parse_GetIdent: Referencing '%s'\n", name);
#endif