Java: fix escaping of '/'.
[jackhill/mal.git] / basic / step1_read_print.in.bas
dissimilarity index 61%
index d9176ed..aa0c45f 100755 (executable)
@@ -1,67 +1,67 @@
-GOTO MAIN
-
-REM $INCLUDE: 'readline.in.bas'
-REM $INCLUDE: 'types.in.bas'
-REM $INCLUDE: 'reader.in.bas'
-REM $INCLUDE: 'printer.in.bas'
-
-REM READ(A$) -> R%
-MAL_READ:
-  GOSUB READ_STR
-  RETURN
-
-REM EVAL(A%, E%) -> R%
-EVAL:
-  R%=A%
-  RETURN
-
-REM PRINT(A%) -> R$
-MAL_PRINT:
-  AZ%=A%: PR%=1: GOSUB PR_STR
-  RETURN
-
-REM REP(A$) -> R$
-REP:
-  GOSUB MAL_READ
-  IF ER%<>0 THEN GOTO REP_DONE
-
-  A%=R%: GOSUB EVAL
-  IF ER%<>0 THEN GOTO REP_DONE
-
-  A%=R%: GOSUB MAL_PRINT
-  RT$=R$
-
-  REP_DONE:
-    REM Release memory from EVAL
-    AY%=R%: GOSUB RELEASE
-    R$=RT$
-    RETURN
-
-REM MAIN program
-MAIN:
-  GOSUB INIT_MEMORY
-
-  ZT%=ZI%: REM top of memory after base repl_env
-
-  REPL_LOOP:
-    A$="user> "
-    GOSUB READLINE: REM /* call input parser */
-    IF EOF=1 THEN GOTO QUIT
-
-    A$=R$: GOSUB REP: REM call REP
-
-    IF ER%<>0 THEN GOSUB PRINT_ERROR: GOTO REPL_LOOP
-    PRINT R$
-    GOTO REPL_LOOP
-
-  QUIT:
-    REM P1%=ZT%: P2%=-1: GOSUB PR_MEMORY
-    GOSUB PR_MEMORY_SUMMARY
-    END
-
-  PRINT_ERROR:
-    PRINT "Error: " + ER$
-    ER%=0
-    ER$=""
-    RETURN
-
+GOTO MAIN
+
+REM $INCLUDE: 'mem.in.bas'
+REM $INCLUDE: 'types.in.bas'
+REM $INCLUDE: 'readline.in.bas'
+REM $INCLUDE: 'reader.in.bas'
+REM $INCLUDE: 'printer.in.bas'
+
+REM $INCLUDE: 'debug.in.bas'
+
+REM READ(A$) -> R
+MAL_READ:
+  GOSUB READ_STR
+  RETURN
+
+REM EVAL(A, E) -> R
+SUB EVAL
+  R=A
+END SUB
+
+REM PRINT(A) -> R$
+MAL_PRINT:
+  AZ=A:B=1:GOSUB PR_STR
+  RETURN
+
+REM REP(A$) -> R$
+SUB REP
+  GOSUB MAL_READ
+  IF ER<>-2 THEN GOTO REP_DONE
+
+  A=R:CALL EVAL
+  IF ER<>-2 THEN GOTO REP_DONE
+
+  A=R:GOSUB MAL_PRINT
+
+  REP_DONE:
+    REM Release memory from EVAL
+    AY=R:GOSUB RELEASE
+END SUB
+
+REM MAIN program
+MAIN:
+  GOSUB INIT_MEMORY
+
+  ZT=ZI: REM top of memory after base repl_env
+
+  REPL_LOOP:
+    A$="user> ":GOSUB READLINE: REM call input parser
+    IF EZ=1 THEN GOTO QUIT
+    IF R$="" THEN GOTO REPL_LOOP
+
+    A$=R$:CALL REP: REM call REP
+
+    IF ER<>-2 THEN GOSUB PRINT_ERROR:GOTO REPL_LOOP
+    PRINT R$
+    GOTO REPL_LOOP
+
+  QUIT:
+    REM GOSUB PR_MEMORY_SUMMARY_SMALL
+    #cbm END
+    #qbasic SYSTEM
+
+  PRINT_ERROR:
+    PRINT "Error: "+E$
+    ER=-2:E$=""
+    RETURN
+