' 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 interactions between the stored program and the machine state.
'
' WARNING: This file contains literal control codes to interact with the
' full-screen editor. See the README.md file for details on how to generate
' its corresponding .out file.
a = 3
PRINT a
CLEAR
PRINT a
EDIT ' Insert stored program until an escape character.
DIM a(1) AS INTEGER
a(0) = 123
PRINT "a(0) is"; a(0)
DIM a(1) AS STRING
a(0) = "Will not conflict"
RUN
RUN
RUN
PRINT "a(0) before CLEAR is"; a(0)
CLEAR ' Reset variables but not the stored program.
PRINT "a(0) after CLEAR is"; a(0)
RUN ' Still runs the program.
PRINT "a(0) before NEW is"; a(0)
NEW ' Reset everything.
yes
PRINT "a(0) after NEW is"; a(0)
RUN ' Doesn't do anything.