Manoranjan Sahu
-
2014-12-24
- assigned_to: Manoranjan Sahu
hawk interpreter showed wrong result after value 2 for the Donald Knuth's manvsboy test.
------hawk script used to test-----------
function a(var k, var x1, var x2, var x3, var x4, var x5)
{
/
echo "########################"
echo "k ::"+k
echo "x1 ::"+x1
echo "x2 ::"+x2
echo "x3 ::"+x3
echo "x4 ::"+x4
echo "x5 ::"+x5
echo "****"
/
function b()
{
k = k - 1
return exec a(k, b, x1, x2, x3, x4)
}
var rtnValue = 789
if ( k <= 0) { var c = `exec x4()` var d = `exec x5()` rtnValue = c +d } else {
rtnValue = exec b()
} return rtnValue
}
function x(var n)
{
function bbb()
{
return n
}
return exec bbb()
}
function main()
{
var t = 0
t = t-1
var x1 = x(1)
var x2 = x(t)
var x3 = x(t)
var x4 = x(1)
var x5 = x(0)
var result = exec a(2, x1, x2,x3,x4,x5 )
echo result
}