1
0

Allow empty OUT arguments

This commit is contained in:
otya128
2016-12-22 20:10:21 +09:00
parent c7813f38b7
commit 2d0d7e0cfc
3 changed files with 34 additions and 9 deletions

View File

@@ -970,18 +970,30 @@ class Parser
while(true)
{
token = lex.front();
Expression arg = expression();
if(!isLValue(arg))
if (token.type == TokenType.Comma)
{
//to support func args... OUT (no argument)
if (!func.outVariable.length)
func.addOut(new VoidExpression(lex.location));
}
else
{
Expression arg = expression();
if (!arg)
{
func.addOut(new VoidExpression(lex.location));
break;
}
syntaxError();
return null;
if(!isLValue(arg))
{
//to support func args... OUT (no argument)
if (!func.outVariable.length)
{
break;
}
syntaxError();
return null;
}
func.addOut(arg);
}
func.addOut(arg);
token = lex.front();
if(token.type == TokenType.Comma)
{