' EndBASIC
' Copyright 2020 Julio Merino
'
' Licensed under the Apache License, Version 2.0 (the "License"); you may not
' use this file except in compliance with the License. You may obtain a copy
' of the License at:
'
' http://www.apache.org/licenses/LICENSE-2.0
'
' Unless required by applicable law or agreed to in writing, software
' distributed under the License is distributed on an "AS IS" BASIS, WITHOUT
' WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the
' License for the specific language governing permissions and limitations
' under the License.
' Tests for control flow errors.
'
' This is must be run through the REPL (as opposed to running as a script)
' because the statements below may trigger compilation errors and abort
' execution right away. The REPL compiles each statement separately so it
' can print those errors.
IF 3 THEN PRINT
IF "foo" THEN: PRINT: END IF
FOR i = FALSE TO TRUE: NEXT
WHILE 3: WEND
DO: LOOP UNTIL 3
DO: LOOP WHILE "foo"
DO UNTIL "foo": LOOP
DO WHILE 3: LOOP