private ReturnWorked ParseByteParameter(string input, int lineNumber, int parameterNumber)
{
uint temp = 0;
bool succeeded = UInt32.TryParse(input, out temp);
if (!succeeded)
{
byte value = 0;
try
{
value = Byte.Parse(ToDecimal(input));
}
catch (OverflowException)
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
catch
{
uint potentialValue = 0;
bool success = userDefinitions.TryGetValue(input.ToUpper(), out potentialValue);
if (success)
{
try
{
byte toReturn = Convert.ToByte(potentialValue);
return (new ReturnWorked(true, toReturn));
}
catch
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
}
success = keywords.TryGetValue(input.ToUpper(), out potentialValue);
if (success)
{
try
{
byte toReturn = Convert.ToByte(potentialValue);
return (new ReturnWorked(true, toReturn));
}
catch
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
}
return (new ReturnWorked(false, Convert.ToByte(0)));
}
return (new ReturnWorked(true, value));
}
else
{
byte value = 0;
try
{
value = Byte.Parse(input);
}
catch (OverflowException)
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
catch
{
uint potentialValue = 0;
bool success = userDefinitions.TryGetValue(input.ToUpper(), out potentialValue);
if (success)
{
try
{
byte toReturn = Convert.ToByte(potentialValue);
return (new ReturnWorked(true, toReturn));
}
catch
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
}
success = keywords.TryGetValue(input.ToUpper(), out potentialValue);
if (success)
{
try
{
byte toReturn = Convert.ToByte(potentialValue);
return (new ReturnWorked(true, toReturn));
}
catch
{
return (new ReturnWorked(false, Convert.ToByte(0)));
}
}
return (new ReturnWorked(false, "Error parsing parameter on line " + lineNumber + ", parameter " + (parameterNumber + 1), false));
}
return (new ReturnWorked(true, value));
}
}