endbasic 0.11.1

The EndBASIC programming language - CLI
' 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.