Add files via upload

This commit is contained in:
Андрей 2021-03-29 20:43:07 +04:00 committed by GitHub
parent 64c6352265
commit 35131ba393
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
90 changed files with 1738 additions and 0 deletions

View file

@ -0,0 +1,7 @@
SUB MAIN
DIM X AS BOOLEAN
X=FALSE
PRINT "X=" + STRING(X)
X=TRUE
PRINT "X=" + STRING(X)
END SUB

View file

@ -0,0 +1,7 @@
SUB MAIN
DIM X AS BYTE
X=BYTE(0x80)
PRINT "X=" + STRING(X)
X=BYTE(127)
PRINT "X=" + STRING(X)
END SUB

View file

@ -0,0 +1,5 @@
SUB MAIN
DIM C AS COMPLEX
C = COMPLEX(2.2, 1.1)
PRINT C + C
END SUB

View file

@ -0,0 +1,12 @@
SUB MAIN
DIM X AS DOUBLE
X=1.234E+2
PRINT "X=" + STRING(X)
X=-1234.56E-2
PRINT "X=" + STRING(X)
X=321.1234567890123
PRINT "X=" + STRING(X)
X=PI
PRINT "X=" + STRING(X)
END SUB

View file

@ -0,0 +1,9 @@
SUB MAIN
DIM X AS FLOAT
X=321.1234f // Note the trailing f
PRINT "X=" + STRING(X)
X=1.234E+2f
PRINT "X=" + STRING(X)
X=-1234.56E-2f
PRINT "X=" + STRING(X)
END SUB

View file

@ -0,0 +1,9 @@
SUB MAIN
DIM X AS INTEGER
X=1234
PRINT X
X=0x80000000
PRINT X
X=0x7fffffff
PRINT X
END SUB

View file

@ -0,0 +1,9 @@
SUB MAIN
DIM X AS LONG
X=123L // Note the trailing L
PRINT X
X=0x8000000000000000L
PRINT X
X=0x7fffffffffffffffL
PRINT X
END SUB

View file

@ -0,0 +1,9 @@
SUB MAIN
DIM X AS SHORT
X=SHORT(123)
PRINT X
X=SHORT(0x8000)
PRINT X
X=SHORT(0x7fff)
PRINT X
END SUB

View file

@ -0,0 +1,11 @@
SUB MAIN
DIM X AS STRING
X="Backslash character=\\"
PRINT "X: " + X
X="Quote Character=\""
PRINT "X: " + X
X="First line\nSecond line"
PRINT "X: " + X
X=STRING(123)
PRINT "X=" + X
END SUB

View file

@ -0,0 +1,15 @@
FUNCTION DBL(X AS VARIANT) AS VARIANT
DBL = X + X
END FUNCTION
SUB MAIN
DIM V AS VARIANT
V=VARIANT(5)
PRINT DBL(V)
V=VARIANT(5.5)
PRINT DBL(V)
V=VARIANT(COMPLEX(2.2,1.1))
PRINT DBL(V)
V=VARIANT("Test")
PRINT DBL(V)
END SUB

View file

@ -0,0 +1,13 @@
SUB MAIN
PRINT "14 + 2 = " + STRING(14 + 2)
PRINT "14 - 2 = " + STRING(14 - 2)
PRINT "14 * 2 = " + STRING(14 * 2)
PRINT "14 / 2 = " + STRING(14 / 2)
PRINT "157 % 100 = " + STRING(157 % 100)
PRINT "10.0 ** 2.0 = " + STRING(10.0 ** 2.0)
PRINT "5 * -3 = " + STRING(5 * -3)
PRINT "3 * 4 + 2 = " + STRING(3*4+2)
PRINT "(3 * 4) + 2 = " + STRING((3*4)+2)
PRINT "3 * (4 + 2) = " + STRING(3*(4+2))
END SUB

View file

@ -0,0 +1,24 @@
FUNCTION toHexString(N AS INTEGER) AS STRING
DIM S AS STRING
DIM I, J AS INTEGER
S = ""
FOR I=1 TO 8
J = N & 0x0000000f
IF (J < 10) THEN
S = CHR$(ASC("0") + J) + S
ELSE
S = CHR$(ASC("A") + (J-10)) + S
END IF
N = N >> 4
END FOR
toHexString = "0x" + S
END FUNCTION
SUB MAIN
PRINT "0x000000f0 << 4 = " + toHexString(0x000000f0 << 4)
PRINT "0xf0000000 >> 4 = " + toHexString(0xf0000000 >> 4)
PRINT "0xf0000000 >>> 4 = " + toHexString(0xf0000000 >>> 4)
END SUB

View file

@ -0,0 +1,9 @@
SUB MAIN
PRINT "0x0ffff & 0x00ff = " + STRING(0x0ffff & 0x00ff)
PRINT "0xff00 | 0x00ff = " + STRING(0xff00 | 0x00ff)
PRINT "0xff00 ^ 0x00ff = " + STRING(0xff00 ^ 0x00ff)
PRINT "~0xffffffff = " + STRING(~0xffffffff)
PRINT "~0xfffffffe = " + STRING(~0xfffffffe)
PRINT "~0xffffffffffffffffL = " + STRING(~0xffffffffffffffffL)
PRINT "~0xfffffffffffffffeL = " + STRING(~0xfffffffffffffffeL)
END SUB

View file

@ -0,0 +1,26 @@
SUB MAIN
DIM I, J AS INTEGER
PRINT "NOT false = " + STRING(NOT false)
PRINT "NOT true = " + STRING(NOT true)
PRINT "false AND false = " + STRING(false AND false)
PRINT "false AND true = " + STRING(false AND true)
PRINT "true AND false = " + STRING(true AND false)
PRINT "true AND true = " + STRING(true AND true)
PRINT "false OR false = " + STRING(false OR false)
PRINT "false OR true = " + STRING(false OR true)
PRINT "true OR false = " + STRING(true OR false)
PRINT "true OR true = " + STRING(true OR true)
FOR I=1 TO 10
FOR J=1 TO 10
IF (I=5 AND J=5) THEN
PRINT "I AND J ARE BOTH 5, I=" + STRING(I) + ", J=" + STRING(J)
ELSEIF (I=5 OR J=5) THEN
PRINT "EITHER I OR J IS 5, I=" + STRING(I) + ", J=" + STRING(J)
END IF
END FOR
END FOR
END SUB

View file

@ -0,0 +1,8 @@
SUB MAIN
PRINT "(10 = 12) = " + STRING(10 = 12)
PRINT "(10 <> 12) = " + STRING(10 <> 12)
PRINT "(10 < 12) = " + STRING(10 < 12)
PRINT "(10 <= 12) = " + STRING(10 <= 12)
PRINT "(10 > 12) = " + STRING(10 > 12)
PRINT "(10 >= 12) = " + STRING(10 >= 12)
END SUB

31
Examples/Core/array.bas Normal file
View file

@ -0,0 +1,31 @@
SUB PASS_ARRAY_1D(ARRAY(3) AS INTEGER)
DIM I AS INTEGER
FOR I=1 TO 3
PRINT "PASS_ARRAY_1D> ARRAY(" + STRING(I) + ")=" + STRING(ARRAY(I))
END FOR
END SUB
SUB PASS_ARRAY_2D(ARRAY(3,3) AS INTEGER)
DIM I,J AS INTEGER
FOR I=1 TO 3
FOR J=1 TO 3
PRINT "PASS_ARRAY_2D> ARRAY(" + STRING(I) + "," + STRING(J) + ")=" + STRING(ARRAY(I,J))
END FOR
END FOR
END SUB
SUB MAIN
DIM ARRAY1(3) AS INTEGER
DIM ARRAY2(3,3) AS INTEGER
DIM I,J AS INTEGER
FOR I=1 TO 3
ARRAY1(I) = I
FOR J=1 TO 3
ARRAY2(I,J) = (I-1) * 3 + J
END FOR
END FOR
CALL PASS_ARRAY_1D(ARRAY1)
CALL PASS_ARRAY_2D(ARRAY2)
END SUB

56
Examples/Core/data.bas Normal file
View file

@ -0,0 +1,56 @@
SUB MAIN
DIM S AS STRING
DIM X AS DOUBLE
DIM I, N AS INTEGER
PRINT "Starting"
RESTORE dataList1
READ S
PRINT S
READ N
FOR I=1 TO N
READ X
PRINT X
END FOR
RESTORE dataList2
READ S
PRINT S
READ N
FOR I=1 TO N
READ S
PRINT S
END FOR
RESTORE dataList3
READ S
PRINT S
READ N
FOR I=1 TO N
READ S
PRINT S
END FOR
PRINT "Finished"
datalist1:
DATA Data List 1
DATA 9
DATA 1,2,3
DATA 4,5,6
DATA 7,8,9
dataList2:
DATA Data List 2
DATA 3
DATA ABC,DEF,GHI
dataList3:
DATA Data List 3
DATA 5
DATA "Hello World","Hello, World!"
DATA Hello\ World,Hello\\World
DATA \"Hello World\"
END SUB

21
Examples/Core/dim.bas Normal file
View file

@ -0,0 +1,21 @@
SUB MAIN
DIM MONTH_ARRAY(12) AS STRING
DIM I AS INTEGER
MONTH_ARRAY(1)="January"
MONTH_ARRAY(2)="February"
MONTH_ARRAY(3)="March"
MONTH_ARRAY(4)="April"
MONTH_ARRAY(5)="May"
MONTH_ARRAY(6)="June"
MONTH_ARRAY(7)="July"
MONTH_ARRAY(8)="August"
MONTH_ARRAY(9)="September"
MONTH_ARRAY(10)="October"
MONTH_ARRAY(11)="November"
MONTH_ARRAY(12)="December"
FOR I=1 TO 12
PRINT "Month " + STRING(I) + " = " + MONTH_ARRAY(I)
END FOR
END SUB

25
Examples/Core/for.bas Normal file
View file

@ -0,0 +1,25 @@
SUB MAIN
DIM I, J AS INTEGER
PRINT "FOR Loop counting from 1 up to 10"
FOR I=1 TO 10
PRINT "I=" + STRING(I)
END FOR
PRINT "FOR Loop counting from 1 to 50 in steps of 10"
FOR I=1 TO 50 STEP 10
PRINT "I=" + STRING(I)
END FOR
PRINT "FOR Loop counting from 99 down to 11 in steps of -11"
FOR I=99 TO 11 STEP -11
PRINT "I=" + STRING(I)
END FOR
PRINT "Nested FOR Loops, Both Loops are counting from 0 TO 9"
FOR I=0 TO 9
FOR J=0 TO 9
PRINT "I=" + STRING(I) + ", J=" + STRING(J)
END FOR
END FOR
END SUB

View file

@ -0,0 +1,7 @@
FUNCTION SUM(X AS INTEGER, Y AS INTEGER) AS INTEGER
SUM = X + Y
END FUNCTION
SUB MAIN
PRINT SUM(5, 7)
END SUB

26
Examples/Core/if.bas Normal file
View file

@ -0,0 +1,26 @@
SUB MAIN
DIM I AS INTEGER
FOR I=1 TO 10
IF (I = 1) THEN
PRINT "ONE"
ELSEIF (I = 2) THEN
PRINT "TWO"
ELSEIF (I = 3) THEN
PRINT "THREE"
ELSEIF (I = 4) THEN
PRINT "FOUR"
ELSEIF (I = 5) THEN
PRINT "FIVE"
ELSEIF (I = 6) THEN
PRINT "SIX"
ELSEIF (I = 7) THEN
PRINT "SEVEN"
ELSEIF (I = 8) THEN
PRINT "EIGHT"
ELSEIF (I = 9) THEN
PRINT "NINE"
ELSE
PRINT "TEN"
END IF
END FOR
END SUB

5
Examples/Core/input.bas Normal file
View file

@ -0,0 +1,5 @@
SUB MAIN
DIM S AS STRING
INPUT "What is your name?",S
PRINT "Hello " + S
END SUB

9
Examples/Core/repeat.bas Normal file
View file

@ -0,0 +1,9 @@
SUB MAIN
DIM I AS INTEGER
I=1
REPEAT
PRINT I
I=I+1
UNTIL I=10
PRINT "Finished"
END SUB

8
Examples/Core/sleep.bas Normal file
View file

@ -0,0 +1,8 @@
SUB MAIN
DIM I AS INTEGER
FOR I=1 TO 10
PRINT I
SLEEP 1000
END FOR
PRINT "Finished"
END SUB

26
Examples/Core/throw.bas Normal file
View file

@ -0,0 +1,26 @@
SUB MAIN
DIM I AS INTEGER
DIM ERR AS STRING
TRY
FOR I=1 TO 10
PRINT I
IF (I=5) THEN
THROW "I=5"
END IF
END FOR
CATCH ERR
PRINT "ERROR> " + ERR
/*
* THROW A Second Error from within the Error Handler
* This time there isn't a current error handler so it
* will cause the program to abort - you will notice
* that the program doesn't print "Program Finished".
*/
THROW ERR + " THROWN by ERROR1"
END TRY
PRINT "Program Finished"
END SUB

23
Examples/Core/try.bas Normal file
View file

@ -0,0 +1,23 @@
SUB MAIN
DIM I AS INTEGER
DIM ERR1 AS STRING
DIM ERR2 AS STRING
TRY
TRY
FOR I=1 TO 10
PRINT I
IF (I=5) THEN
THROW "I=5"
END IF
END FOR
CATCH ERR1
PRINT "ERROR1> " + ERR1
THROW ERR1 + " THROWN by ERROR1"
ENDTRY
CATCH ERR2
PRINT "ERROR2> " + ERR2
END TRY
PRINT "Program Finished"
END SUB

9
Examples/Core/while.bas Normal file
View file

@ -0,0 +1,9 @@
SUB MAIN
DIM I AS INTEGER
I=1
WHILE I<10
PRINT I
I=I+1
END WHILE
PRINT "Finished"
END SUB