Compiler/AST interpreter: Difference between revisions
Content added Content deleted
(Added) |
(→{{header|ALGOL W}}: minor bug fix) |
||
Line 222: | Line 222: | ||
sLen := sLen + 1; |
sLen := sLen + 1; |
||
lPos := lPos + 1; |
lPos := lPos + 1; |
||
while lPos <= 255 and line( lPos // 1 ) not = terminator |
while lPos <= 255 and line( lPos // 1 ) not = terminator do begin |
||
str( sLen // 1 ) := line( lPos // 1 ); |
str( sLen // 1 ) := line( lPos // 1 ); |
||
sLen := sLen + 1; |
sLen := sLen + 1; |
||
Line 263: | Line 263: | ||
integer n; |
integer n; |
||
n := 0; |
n := 0; |
||
while line( lPos // 1 ) not = " " |
while line( lPos // 1 ) not = " " do begin |
||
n := ( n * 10 ) + ( decode( line( lPos // 1 ) ) - decode( "0" ) ); |
n := ( n * 10 ) + ( decode( line( lPos // 1 ) ) - decode( "0" ) ); |
||
lPos := lPos + 1 |
lPos := lPos + 1 |
||
Line 278: | Line 278: | ||
while line( lPos // 1 ) = " " do lPos := lPos + 1; |
while line( lPos // 1 ) = " " do lPos := lPos + 1; |
||
name := ""; |
name := ""; |
||
while lPos < 256 and line( lPos // 1 ) not = " |
while lPos < 256 and line( lPos // 1 ) not = " " do begin |
||
name( tPos // 1 ) := line( lPos // 1 ); |
name( tPos // 1 ) := line( lPos // 1 ); |
||
lPos := lPos + 1; |
lPos := lPos + 1; |