List Of Numbers Produces Incorrect Output (part of detailed review of common microsyntaxes)

Passing #lists a string of "10" results in a list with a single  
value: 1. This (almost certain) bug is caused by substeps 2–4 of the  
number character option within step 13 (parser). At the second digit,  
we multiple 0*10 before adding it to value. However, if we rewrite  
this set of substeps to follow the pattern used in the algorithms  
above (such as real numbers) the said bug can be fixed:

[[
1. If finished is true, skip to the next step in the overall set of  
steps.

2. Multiply value by ten.

3. Add the value of the digit, interpreted in base ten, to value.

4. Let started be true.
]]

This removes the need for two variables (multiple and n). Therefore,  
step 9 of the outer algorithm also needs to be removed.

- Geoffrey Sneddon

Received on Wednesday, 11 July 2007 15:08:06 UTC