summaryrefslogtreecommitdiff
path: root/apps/examples/bastest/tests
diff options
context:
space:
mode:
authorGregory Nutt <gnutt@nuttx.org>2014-11-07 15:03:03 -0600
committerGregory Nutt <gnutt@nuttx.org>2014-11-07 15:03:03 -0600
commitb20c2c13f229704f5b4b9a43d8323f24e18977f2 (patch)
tree7e2daa8004160827a8b9d19c92ddaacc3f8d7b63 /apps/examples/bastest/tests
parent1c5e93117d6951dc65d4914ee8e9507af143d2b4 (diff)
downloadpx4-nuttx-b20c2c13f229704f5b4b9a43d8323f24e18977f2.tar.gz
px4-nuttx-b20c2c13f229704f5b4b9a43d8323f24e18977f2.tar.bz2
px4-nuttx-b20c2c13f229704f5b4b9a43d8323f24e18977f2.zip
BAS: Rename examples/bas to examples/bastest. Hook into build and configuration system. Finish ROMFS logic
Diffstat (limited to 'apps/examples/bastest/tests')
-rw-r--r--apps/examples/bastest/tests/test01.bas10
-rw-r--r--apps/examples/bastest/tests/test02.bas8
-rw-r--r--apps/examples/bastest/tests/test03.bas16
-rw-r--r--apps/examples/bastest/tests/test04.bas6
-rw-r--r--apps/examples/bastest/tests/test05.bas8
-rw-r--r--apps/examples/bastest/tests/test06.bas12
-rw-r--r--apps/examples/bastest/tests/test07.bas5
-rw-r--r--apps/examples/bastest/tests/test08.bas10
-rw-r--r--apps/examples/bastest/tests/test09.bas9
-rw-r--r--apps/examples/bastest/tests/test10.bas31
-rw-r--r--apps/examples/bastest/tests/test11.bas6
-rw-r--r--apps/examples/bastest/tests/test12.bas10
-rw-r--r--apps/examples/bastest/tests/test13.bas4
-rw-r--r--apps/examples/bastest/tests/test14.bas22
-rw-r--r--apps/examples/bastest/tests/test15.bas18
-rw-r--r--apps/examples/bastest/tests/test16.bas10
-rw-r--r--apps/examples/bastest/tests/test17.bas9
-rw-r--r--apps/examples/bastest/tests/test18.bas13
-rw-r--r--apps/examples/bastest/tests/test19.bas20
-rw-r--r--apps/examples/bastest/tests/test20.bas11
-rw-r--r--apps/examples/bastest/tests/test21.bas16
-rw-r--r--apps/examples/bastest/tests/test22.bas14
-rw-r--r--apps/examples/bastest/tests/test23.bas13
-rw-r--r--apps/examples/bastest/tests/test24.bas8
-rw-r--r--apps/examples/bastest/tests/test25.bas14
-rw-r--r--apps/examples/bastest/tests/test26.bas5
-rw-r--r--apps/examples/bastest/tests/test27.bas8
-rw-r--r--apps/examples/bastest/tests/test28.bas6
-rw-r--r--apps/examples/bastest/tests/test29.bas7
-rw-r--r--apps/examples/bastest/tests/test30.bas2
-rw-r--r--apps/examples/bastest/tests/test31.bas7
-rw-r--r--apps/examples/bastest/tests/test32.bas8
-rw-r--r--apps/examples/bastest/tests/test33.bas17
-rw-r--r--apps/examples/bastest/tests/test34.bas18
-rw-r--r--apps/examples/bastest/tests/test35.bas9
-rw-r--r--apps/examples/bastest/tests/test36.bas8
-rw-r--r--apps/examples/bastest/tests/test37.bas6
-rw-r--r--apps/examples/bastest/tests/test38.bas9
-rw-r--r--apps/examples/bastest/tests/test39.bas12
-rw-r--r--apps/examples/bastest/tests/test40.bas5
-rw-r--r--apps/examples/bastest/tests/test41.bas9
-rw-r--r--apps/examples/bastest/tests/test42.bas9
-rw-r--r--apps/examples/bastest/tests/test43.bas16
-rw-r--r--apps/examples/bastest/tests/test44.bas8
-rw-r--r--apps/examples/bastest/tests/test45.bas9
-rw-r--r--apps/examples/bastest/tests/test46.bas2
-rw-r--r--apps/examples/bastest/tests/test47.bas10
-rw-r--r--apps/examples/bastest/tests/test48.bas8
-rw-r--r--apps/examples/bastest/tests/test49.bas16
-rw-r--r--apps/examples/bastest/tests/test50.bas9
-rw-r--r--apps/examples/bastest/tests/test51.bas2
-rw-r--r--apps/examples/bastest/tests/test52.bas6
52 files changed, 534 insertions, 0 deletions
diff --git a/apps/examples/bastest/tests/test01.bas b/apps/examples/bastest/tests/test01.bas
new file mode 100644
index 000000000..d2c3494e0
--- /dev/null
+++ b/apps/examples/bastest/tests/test01.bas
@@ -0,0 +1,10 @@
+10 a=1
+20 print a
+30 a$="hello"
+40 print a$
+50 a=0.0002
+60 print a
+70 a=2.e-6
+80 print a
+90 a=.2e-6
+100 print a
diff --git a/apps/examples/bastest/tests/test02.bas b/apps/examples/bastest/tests/test02.bas
new file mode 100644
index 000000000..cc8b50ebc
--- /dev/null
+++ b/apps/examples/bastest/tests/test02.bas
@@ -0,0 +1,8 @@
+10 dim a(1)
+20 a(0)=10
+30 a(1)=11
+40 a=12
+50 print a(0)
+60 print a(1)
+70 print a
+
diff --git a/apps/examples/bastest/tests/test03.bas b/apps/examples/bastest/tests/test03.bas
new file mode 100644
index 000000000..5d991d330
--- /dev/null
+++ b/apps/examples/bastest/tests/test03.bas
@@ -0,0 +1,16 @@
+ 10 for i=0 to 10
+ 20 print i
+ 30 if i=5 then exit for
+ 40 next
+ 50 for i=0 to 0
+ 60 print i
+ 70 next I
+ 80 for i=1 to 0 step -1
+ 90 print i
+100 next
+110 for i=1 to 0
+120 print i
+130 next
+140 for i$="" to "aaaaaaaaaa" step "a"
+150 print i$
+160 next
diff --git a/apps/examples/bastest/tests/test04.bas b/apps/examples/bastest/tests/test04.bas
new file mode 100644
index 000000000..f2755e5a9
--- /dev/null
+++ b/apps/examples/bastest/tests/test04.bas
@@ -0,0 +1,6 @@
+10 a=1
+20 repeat
+30 print a
+40 a=a+1
+50 until a=10
+
diff --git a/apps/examples/bastest/tests/test05.bas b/apps/examples/bastest/tests/test05.bas
new file mode 100644
index 000000000..49100a00e
--- /dev/null
+++ b/apps/examples/bastest/tests/test05.bas
@@ -0,0 +1,8 @@
+10 gosub 100
+20 gosub 100
+30 end
+100 gosub 200
+110 gosub 200
+120 return
+200 print "hello, world":return
+
diff --git a/apps/examples/bastest/tests/test06.bas b/apps/examples/bastest/tests/test06.bas
new file mode 100644
index 000000000..ddd6efe78
--- /dev/null
+++ b/apps/examples/bastest/tests/test06.bas
@@ -0,0 +1,12 @@
+10 def fnloop
+20 if n=0.0 then
+30 r=0.0
+40 else
+50 print n
+60 n=n-1.0
+70 r=fnloop()
+80 end if
+90 =r
+100 n=10
+110 print fnloop
+
diff --git a/apps/examples/bastest/tests/test07.bas b/apps/examples/bastest/tests/test07.bas
new file mode 100644
index 000000000..12c0cbdc7
--- /dev/null
+++ b/apps/examples/bastest/tests/test07.bas
@@ -0,0 +1,5 @@
+10 def fna(x)
+20 if x=0 then r=1 else r=x*fna(x-1)
+30 =r
+40 print fna(7)
+
diff --git a/apps/examples/bastest/tests/test08.bas b/apps/examples/bastest/tests/test08.bas
new file mode 100644
index 000000000..0e6f13ad6
--- /dev/null
+++ b/apps/examples/bastest/tests/test08.bas
@@ -0,0 +1,10 @@
+10 data "a",b
+20 data "c","d
+40 read j$
+50 print "j=";j$
+60 restore 20
+70 for i=1 to 3
+80 read j$,k$
+90 print "j=";j$;" k=";k$
+100 next
+
diff --git a/apps/examples/bastest/tests/test09.bas b/apps/examples/bastest/tests/test09.bas
new file mode 100644
index 000000000..7d5f72735
--- /dev/null
+++ b/apps/examples/bastest/tests/test09.bas
@@ -0,0 +1,9 @@
+10 def fna(a)
+20 local b
+30 b=a+1
+40 =b
+60 b=3
+70 print b
+80 print fna(4)
+90 print b
+
diff --git a/apps/examples/bastest/tests/test10.bas b/apps/examples/bastest/tests/test10.bas
new file mode 100644
index 000000000..41a935cca
--- /dev/null
+++ b/apps/examples/bastest/tests/test10.bas
@@ -0,0 +1,31 @@
+ 10 print using "!";"abcdef"
+ 20 print using "\ \";"abcdef"
+ 30 print using "###-";-1
+ 40 print using "###-";0
+ 50 print using "###-";1
+ 60 print using "###+";-1
+ 70 print using "###+";0
+ 80 print using "###+";1
+ 90 print using "#####,";1000
+100 print using "**#,##.##";1000.00
+110 print using "+##.##";1
+120 print using "+##.##";1.23400
+130 print using "+##.##";123.456
+140 print using "+##.";123.456
+150 print using "+##";123.456
+160 print using "abc def ###.## efg";1.3
+170 print using "###.##^^^^^";5
+180 print using "###.##^^^^";1000
+190 print using ".##^^^^";5.0
+200 print using "##^^^^";2.3e-9
+210 print using ".##^^^^";2.3e-9
+220 print using "#.#^^^^";2.3e-9
+230 print using ".####^^^^^";-011466
+240 print using "$*,***,***,***.**";3729825.24
+250 print using "$**********.**";3729825.24
+260 print using "$$###.##";456.78
+270 print using "a!b";"S"
+280 print using "a!b";"S","T"
+290 print using "a!b!c";"S"
+300 print using "a!b!c";"S","T"
+
diff --git a/apps/examples/bastest/tests/test11.bas b/apps/examples/bastest/tests/test11.bas
new file mode 100644
index 000000000..78eb6d1c6
--- /dev/null
+++ b/apps/examples/bastest/tests/test11.bas
@@ -0,0 +1,6 @@
+10 open "i",1,"test.bas"
+20 while not eof(1)
+30 line input #1,a$
+40 print a$
+50 wend
+
diff --git a/apps/examples/bastest/tests/test12.bas b/apps/examples/bastest/tests/test12.bas
new file mode 100644
index 000000000..ecbb9d138
--- /dev/null
+++ b/apps/examples/bastest/tests/test12.bas
@@ -0,0 +1,10 @@
+10 on error print "global handler 1 caught error in line ";erl : resume 30
+20 print mid$("",-1)
+30 on error print "global handler 2 caught error in line ";erl : end
+40 def procx
+50 on error print "local handler caught error in line";erl : goto 70
+60 print 1/0
+70 end proc
+80 procx
+90 print 1 mod 0
+
diff --git a/apps/examples/bastest/tests/test13.bas b/apps/examples/bastest/tests/test13.bas
new file mode 100644
index 000000000..e3be7a00b
--- /dev/null
+++ b/apps/examples/bastest/tests/test13.bas
@@ -0,0 +1,4 @@
+print "a"
+goto 20
+print "b"
+20 print "c"
diff --git a/apps/examples/bastest/tests/test14.bas b/apps/examples/bastest/tests/test14.bas
new file mode 100644
index 000000000..56040112a
--- /dev/null
+++ b/apps/examples/bastest/tests/test14.bas
@@ -0,0 +1,22 @@
+ 10 for i=0 to 9
+ 20 for j=0 to 9
+ 30 print i,j
+ 40 select case i
+ 50 case 0
+ 60 print "i after case 0"
+ 70 case 1
+ 80 print "i after case 1"
+ 90 select case j
+100 case 0
+110 print "j after case 0"
+120 end select
+130 case 3 to 5,7
+140 print "i after case 3 to 5, 7"
+150 case is <9
+160 print "is after case is <9"
+170 case else
+180 print "i after case else"
+190 end select
+200 next
+210 next
+
diff --git a/apps/examples/bastest/tests/test15.bas b/apps/examples/bastest/tests/test15.bas
new file mode 100644
index 000000000..a9195bf4b
--- /dev/null
+++ b/apps/examples/bastest/tests/test15.bas
@@ -0,0 +1,18 @@
+a$="a"
+open "r",1,"test.dat",128
+print "before field a$=";a$
+field #1,10 as a$
+field #1,5 as b$,5 as c$
+lset b$="hi"
+rset c$="ya"
+print "a$=";a$
+put #1
+close #1
+print "after close a$=";a$
+open "r",2,"test.dat",128
+field #2,10 as b$
+get #2
+print "after get b$=";b$
+close #2
+kill "test.dat"
+
diff --git a/apps/examples/bastest/tests/test16.bas b/apps/examples/bastest/tests/test16.bas
new file mode 100644
index 000000000..809137d75
--- /dev/null
+++ b/apps/examples/bastest/tests/test16.bas
@@ -0,0 +1,10 @@
+a=1 : b=2
+print "a=";a;"b=";b
+swap a,b
+print "a=";a;"b=";b
+dim a$(1,1),b$(1,1)
+a$(1,0)="a" : b$(0,1)="b"
+print "a$(1,0)=";a$(1,0);"b$(0,1)=";b$(0,1)
+swap a$(1,0),b$(0,1)
+print "a$(1,0)=";a$(1,0);"b$(0,1)=";b$(0,1)
+
diff --git a/apps/examples/bastest/tests/test17.bas b/apps/examples/bastest/tests/test17.bas
new file mode 100644
index 000000000..bfe0c9c2c
--- /dev/null
+++ b/apps/examples/bastest/tests/test17.bas
@@ -0,0 +1,9 @@
+print "loop started"
+i=1
+do
+ print "i is";i
+ i=i+1
+ if i>10 then exit do
+loop
+print "loop ended"
+
diff --git a/apps/examples/bastest/tests/test18.bas b/apps/examples/bastest/tests/test18.bas
new file mode 100644
index 000000000..73ab93e1b
--- /dev/null
+++ b/apps/examples/bastest/tests/test18.bas
@@ -0,0 +1,13 @@
+print "loop started"
+x$=""
+do while len(x$)<3
+ print "x$ is ";x$
+ x$=x$+"a"
+ y$=""
+ do while len(y$)<2
+ print "y$ is ";y$
+ y$=y$+"b"
+ loop
+loop
+print "loop ended"
+
diff --git a/apps/examples/bastest/tests/test19.bas b/apps/examples/bastest/tests/test19.bas
new file mode 100644
index 000000000..aa19fa4ae
--- /dev/null
+++ b/apps/examples/bastest/tests/test19.bas
@@ -0,0 +1,20 @@
+for x=1 to 3
+ if x=1 then
+ print "1a"
+ else
+ if x=2 then
+ print "2a"
+ else
+ print "3a"
+ end if
+ end if
+next
+
+for x=1 to 3
+ if x=1 then
+ print "1b"
+ elseif x=2 then
+ print "2b"
+ elseif x=3 then print "3b"
+next
+
diff --git a/apps/examples/bastest/tests/test20.bas b/apps/examples/bastest/tests/test20.bas
new file mode 100644
index 000000000..6b982bf89
--- /dev/null
+++ b/apps/examples/bastest/tests/test20.bas
@@ -0,0 +1,11 @@
+ 10 gosub 20
+ 20 gosub 30
+ 30 procb
+ 40 def proca
+ 50 print "hi"
+ 60 stop
+ 70 end proc
+ 80 def procb
+ 90 proca
+100 end proc
+
diff --git a/apps/examples/bastest/tests/test21.bas b/apps/examples/bastest/tests/test21.bas
new file mode 100644
index 000000000..dd0f63beb
--- /dev/null
+++ b/apps/examples/bastest/tests/test21.bas
@@ -0,0 +1,16 @@
+dim a(3,4)
+for i=0 to 3
+ for j=0 to 4
+ a(i,j)=i*10+j
+ print a(i,j);
+ next
+ print
+next
+mat b=a
+for i=0 to 3
+ for j=0 to 4
+ print b(i,j);
+ next
+ print
+next
+
diff --git a/apps/examples/bastest/tests/test22.bas b/apps/examples/bastest/tests/test22.bas
new file mode 100644
index 000000000..e10b03a14
--- /dev/null
+++ b/apps/examples/bastest/tests/test22.bas
@@ -0,0 +1,14 @@
+dim a(2,2)
+for i=0 to 2
+ for j=0 to 2
+ a(i,j)=i*10+j
+ next
+next
+for j=1 to 2
+ for i=1 to 2
+ print using " ##.##";a(i,j),
+ next
+ print
+next
+mat print using " ##.##";a,a
+
diff --git a/apps/examples/bastest/tests/test23.bas b/apps/examples/bastest/tests/test23.bas
new file mode 100644
index 000000000..faf5c5593
--- /dev/null
+++ b/apps/examples/bastest/tests/test23.bas
@@ -0,0 +1,13 @@
+dim a(2,2)
+a(2,2)=2.5
+dim b%(2,2)
+b%(2,2)=3
+mat print a
+mat a=a-b%
+mat print a
+dim c$(2,2)
+c$(2,1)="hi"
+mat print c$
+mat c$=c$+c$
+mat print c$
+
diff --git a/apps/examples/bastest/tests/test24.bas b/apps/examples/bastest/tests/test24.bas
new file mode 100644
index 000000000..95678830b
--- /dev/null
+++ b/apps/examples/bastest/tests/test24.bas
@@ -0,0 +1,8 @@
+10 dim b(2,3),c(3,2)
+20 for i=1 to 2 : for j=1 to 3 : read b(i,j) : next : next
+30 for i=1 to 3 : for j=1 to 2 : read c(i,j) : next : next
+40 mat a=b*c
+50 mat print b,c,a
+60 data 1,2,3,3,2,1
+70 data 1,2,2,1,3,3
+
diff --git a/apps/examples/bastest/tests/test25.bas b/apps/examples/bastest/tests/test25.bas
new file mode 100644
index 000000000..bf4d34c93
--- /dev/null
+++ b/apps/examples/bastest/tests/test25.bas
@@ -0,0 +1,14 @@
+10 dim a(3,3)
+20 for i=1 to 3 : for j=1 to 3 : read a(i,j) : next : next
+30 mat print a
+40 mat a=(3)*a
+45 print
+50 mat print a
+60 data 1,2,3,4,5,6,7,8,9
+80 dim inch_array(5,1),cm_array(5,1)
+90 mat read inch_array
+100 data 1,12,36,100,39.37
+110 mat print inch_array
+120 mat cm_array=(2.54)*inch_array
+130 mat print cm_array
+
diff --git a/apps/examples/bastest/tests/test26.bas b/apps/examples/bastest/tests/test26.bas
new file mode 100644
index 000000000..8055735a1
--- /dev/null
+++ b/apps/examples/bastest/tests/test26.bas
@@ -0,0 +1,5 @@
+dim a(3,3)
+data 5,5,5,8,8,8,3,3
+mat read a(2,3)
+mat print a
+
diff --git a/apps/examples/bastest/tests/test27.bas b/apps/examples/bastest/tests/test27.bas
new file mode 100644
index 000000000..92ba744a8
--- /dev/null
+++ b/apps/examples/bastest/tests/test27.bas
@@ -0,0 +1,8 @@
+data 1,2,3,4
+mat read a(2,2)
+mat print a
+mat b=inv(a)
+mat print b
+mat c=a*b
+mat print c
+
diff --git a/apps/examples/bastest/tests/test28.bas b/apps/examples/bastest/tests/test28.bas
new file mode 100644
index 000000000..d5185ca98
--- /dev/null
+++ b/apps/examples/bastest/tests/test28.bas
@@ -0,0 +1,6 @@
+def fnfac(n)
+ if n=1 then fnreturn 1
+fnend n*fnfac(n-1)
+
+print fnfac(10)
+
diff --git a/apps/examples/bastest/tests/test29.bas b/apps/examples/bastest/tests/test29.bas
new file mode 100644
index 000000000..fbc20942c
--- /dev/null
+++ b/apps/examples/bastest/tests/test29.bas
@@ -0,0 +1,7 @@
+print instr("123456789","456");" = 4?"
+print INSTR("123456789","654");" = 0?"
+print INSTR("1234512345","34");" = 3?"
+print INSTR("1234512345","34",6);" = 8?"
+print INSTR("1234512345","34",6,2);" = 0?"
+print INSTR("1234512345","34",6,4);" = 8?"
+
diff --git a/apps/examples/bastest/tests/test30.bas b/apps/examples/bastest/tests/test30.bas
new file mode 100644
index 000000000..06cea549a
--- /dev/null
+++ b/apps/examples/bastest/tests/test30.bas
@@ -0,0 +1,2 @@
+print 1+"a"
+
diff --git a/apps/examples/bastest/tests/test31.bas b/apps/examples/bastest/tests/test31.bas
new file mode 100644
index 000000000..d168bd072
--- /dev/null
+++ b/apps/examples/bastest/tests/test31.bas
@@ -0,0 +1,7 @@
+10 for i=-8 to 8
+20 x=1+1/3 : y=1 : j=i
+30 for j=i to -1 : x=x/10 : y=y/10 : next
+40 for j=i to 1 step -1 : x=x*10 : y=y*10 : next
+50 print x,y
+60 next
+
diff --git a/apps/examples/bastest/tests/test32.bas b/apps/examples/bastest/tests/test32.bas
new file mode 100644
index 000000000..43fdc4cf5
--- /dev/null
+++ b/apps/examples/bastest/tests/test32.bas
@@ -0,0 +1,8 @@
+PUTS("abc")
+END
+
+SUB PUTS(s$)
+ FOR i=1 to LEN(s$) : print mid$(s$,i,1); : NEXT
+ PRINT
+END SUB
+
diff --git a/apps/examples/bastest/tests/test33.bas b/apps/examples/bastest/tests/test33.bas
new file mode 100644
index 000000000..2d64a4d05
--- /dev/null
+++ b/apps/examples/bastest/tests/test33.bas
@@ -0,0 +1,17 @@
+open "test.out" for binary as 1
+put 1,1,"xy"
+put 1,3,"z!"
+put 1,10,1/3
+put 1,20,9999
+close 1
+open "test.out" for binary as 1
+s$=" "
+get 1,1,s$
+get 1,10,x
+get 1,20,n%
+close
+print s$
+print x
+print n%
+kill "test.out"
+
diff --git a/apps/examples/bastest/tests/test34.bas b/apps/examples/bastest/tests/test34.bas
new file mode 100644
index 000000000..2cd77b914
--- /dev/null
+++ b/apps/examples/bastest/tests/test34.bas
@@ -0,0 +1,18 @@
+option base 3
+dim a(3,5)
+a(3,3)=1
+a(3,5)=2
+
+print a(3,3)
+print a(3,5)
+
+option base -2
+dim b(-1,2)
+b(-2,-2)=10
+b(-1,2)=20
+
+print a(3,3)
+print a(3,5)
+print b(-2,-2)
+print b(-1,2)
+
diff --git a/apps/examples/bastest/tests/test35.bas b/apps/examples/bastest/tests/test35.bas
new file mode 100644
index 000000000..158f20719
--- /dev/null
+++ b/apps/examples/bastest/tests/test35.bas
@@ -0,0 +1,9 @@
+a%=1.2
+print a%
+a%=1.7
+print a%
+a%=-0.2
+print a%
+a%=-0.7
+print a%
+
diff --git a/apps/examples/bastest/tests/test36.bas b/apps/examples/bastest/tests/test36.bas
new file mode 100644
index 000000000..c7bd6f054
--- /dev/null
+++ b/apps/examples/bastest/tests/test36.bas
@@ -0,0 +1,8 @@
+on error goto 10
+print "opening file"
+open "test.out" for output lock write as #1
+print "open succeeded"
+if command$<>"enough" then shell "sh ./test/runbas test.bas enough"
+end
+10 print "open failed"
+
diff --git a/apps/examples/bastest/tests/test37.bas b/apps/examples/bastest/tests/test37.bas
new file mode 100644
index 000000000..80f65a7de
--- /dev/null
+++ b/apps/examples/bastest/tests/test37.bas
@@ -0,0 +1,6 @@
+10 open "i",1,"test.ref"
+20 while not eof(1)
+30 line input #1,a$
+40 if a$="abc" then print a$; else print "def"
+50 wend
+
diff --git a/apps/examples/bastest/tests/test38.bas b/apps/examples/bastest/tests/test38.bas
new file mode 100644
index 000000000..c1b151eee
--- /dev/null
+++ b/apps/examples/bastest/tests/test38.bas
@@ -0,0 +1,9 @@
+dim x(10)
+mat read x
+mat print x
+mat redim x(7)
+mat print x
+mat redim x(12)
+mat print x
+data 1,2,3,4,5,6,7,8,9,10
+
diff --git a/apps/examples/bastest/tests/test39.bas b/apps/examples/bastest/tests/test39.bas
new file mode 100644
index 000000000..076c07be9
--- /dev/null
+++ b/apps/examples/bastest/tests/test39.bas
@@ -0,0 +1,12 @@
+def proc_a(x)
+print fn_b(1,x)
+end proc
+
+def fn_b(a,b)
+= a+fn_c(b)
+
+def fn_c(b)
+= b+3
+
+proc_a(2)
+
diff --git a/apps/examples/bastest/tests/test40.bas b/apps/examples/bastest/tests/test40.bas
new file mode 100644
index 000000000..5ddc05009
--- /dev/null
+++ b/apps/examples/bastest/tests/test40.bas
@@ -0,0 +1,5 @@
+ d=3.1
+ print using "#.#";d
+ print using 10;d
+10 image #.##
+
diff --git a/apps/examples/bastest/tests/test41.bas b/apps/examples/bastest/tests/test41.bas
new file mode 100644
index 000000000..f307a866d
--- /dev/null
+++ b/apps/examples/bastest/tests/test41.bas
@@ -0,0 +1,9 @@
+function f(c)
+print "f running"
+if (c) then f=42 : exit function
+f=43
+end function
+
+print f(0)
+print f(1)
+
diff --git a/apps/examples/bastest/tests/test42.bas b/apps/examples/bastest/tests/test42.bas
new file mode 100644
index 000000000..5be79ac26
--- /dev/null
+++ b/apps/examples/bastest/tests/test42.bas
@@ -0,0 +1,9 @@
+10 print 4.7\3
+20 print -2.3\1
+30 print int(-2.3)
+40 print int(2.3)
+50 print fix(-2.3)
+60 print fix(2.3)
+70 print fp(-2.3)
+80 print fp(2.3)
+
diff --git a/apps/examples/bastest/tests/test43.bas b/apps/examples/bastest/tests/test43.bas
new file mode 100644
index 000000000..26ac0dd02
--- /dev/null
+++ b/apps/examples/bastest/tests/test43.bas
@@ -0,0 +1,16 @@
+DIM a(3,3),b(3,1),c(3,3)
+MAT READ a
+MAT READ b
+MAT c=a*b
+MAT PRINT c
+DATA 1,2,3,4,5,6,7,8,9
+DATA 5,3,2
+
+erase b
+DIM b(3)
+RESTORE
+MAT READ a
+MAT READ b
+MAT c=a*b
+MAT PRINT c
+
diff --git a/apps/examples/bastest/tests/test44.bas b/apps/examples/bastest/tests/test44.bas
new file mode 100644
index 000000000..72cb37ccf
--- /dev/null
+++ b/apps/examples/bastest/tests/test44.bas
@@ -0,0 +1,8 @@
+10 print 10
+20 print 20
+30 print 30
+40 print 40
+50 print 50
+60 print 60
+70 print 70
+
diff --git a/apps/examples/bastest/tests/test45.bas b/apps/examples/bastest/tests/test45.bas
new file mode 100644
index 000000000..cea534dda
--- /dev/null
+++ b/apps/examples/bastest/tests/test45.bas
@@ -0,0 +1,9 @@
+10 mid$(a$,6,4) = "ABCD"
+20 print a$
+30 a$="0123456789"
+40 mid$(a$,6,4) = "ABCD"
+50 print a$
+60 a$="0123456789"
+70 let mid$(a$,6,4) = "ABCD"
+80 print a$
+
diff --git a/apps/examples/bastest/tests/test46.bas b/apps/examples/bastest/tests/test46.bas
new file mode 100644
index 000000000..f7a08468d
--- /dev/null
+++ b/apps/examples/bastest/tests/test46.bas
@@ -0,0 +1,2 @@
+for i=1 to 10:print i;:next i:end
+
diff --git a/apps/examples/bastest/tests/test47.bas b/apps/examples/bastest/tests/test47.bas
new file mode 100644
index 000000000..960ac46c5
--- /dev/null
+++ b/apps/examples/bastest/tests/test47.bas
@@ -0,0 +1,10 @@
+dim a(3,4)
+for i=0 to 3
+ for j=0 to 4
+ a(i,j)=i*10+j
+ print a(i,j);
+ next
+ print
+next
+mat write a
+
diff --git a/apps/examples/bastest/tests/test48.bas b/apps/examples/bastest/tests/test48.bas
new file mode 100644
index 000000000..223bc1c3e
--- /dev/null
+++ b/apps/examples/bastest/tests/test48.bas
@@ -0,0 +1,8 @@
+a,b = 10
+print a,b
+dim c(10)
+a,c(a) = 2
+print a,c(2),c(10)
+a$,b$="test"
+print a$,b$
+
diff --git a/apps/examples/bastest/tests/test49.bas b/apps/examples/bastest/tests/test49.bas
new file mode 100644
index 000000000..d9b167af0
--- /dev/null
+++ b/apps/examples/bastest/tests/test49.bas
@@ -0,0 +1,16 @@
+width 120
+dim a(7,7),b(7,7)
+mat read a
+mat print a;
+print
+data 58,71,67,36,35,19,60
+data 50,71,71,56,45,20,52
+data 64,40,84,50,51,43,69
+data 31,28,41,54,31,18,33
+data 45,23,46,38,50,43,50
+data 41,10,28,17,33,41,46
+data 66,72,71,38,40,27,69
+mat b=inv(a)
+mat print b
+print det
+
diff --git a/apps/examples/bastest/tests/test50.bas b/apps/examples/bastest/tests/test50.bas
new file mode 100644
index 000000000..de12fbe87
--- /dev/null
+++ b/apps/examples/bastest/tests/test50.bas
@@ -0,0 +1,9 @@
+print min(1,2)
+print min(2,1)
+print min(-0.3,0.3)
+print min(-0.3,4)
+print max(1,2)
+print max(2,1)
+print max(-0.3,0.3)
+print max(-0.3,4)
+
diff --git a/apps/examples/bastest/tests/test51.bas b/apps/examples/bastest/tests/test51.bas
new file mode 100644
index 000000000..503cb2693
--- /dev/null
+++ b/apps/examples/bastest/tests/test51.bas
@@ -0,0 +1,2 @@
+PRINT "Line 1";TAB(78);1.23456789
+
diff --git a/apps/examples/bastest/tests/test52.bas b/apps/examples/bastest/tests/test52.bas
new file mode 100644
index 000000000..4470bb5b2
--- /dev/null
+++ b/apps/examples/bastest/tests/test52.bas
@@ -0,0 +1,6 @@
+dim a(2,2)
+mat input a
+mat print a
+mat input a
+mat print a
+