The personal interpretter of the BASIC programming language.
GNUBasic, Copyright (C) 2003 Sandul Yura Valentinovich.
(C) Monday, 5 May 2003 year.
All rights reserved.
GNUBasic comes with ABSOLUTELY NO WARRANTY; for details, see the GNU General
Public License, version 2.
    This is free software, and you are welcome to redistribute it under certain
conditions from the GNU General Public License.
***************************************************************

Statements:
        REM [Any symbols combination.]
        Insert comment to program.
        OPEN FileName$ FOR INPUT|OUTPUT|APPEND AS #FileNumber%
        Open file for work with it.
        CLOSE #FileNumber%
        Close file.
        PRINT [#FileNumber%,]Expression
        Output to file or screen.
        CLS
        Clear the screen.
        COLOR BackGroundColor%,ForeGroundColor%
        Set screen color.
        LOCATE Column%,Row%
        Move screen cursor.
        SOUND Frequency%,Duration%
        Play sound (duration set in miliseconds (1/1000 of second)).
        NAME FileName$ AS NewFileName$
        Rename file.
        MKDIR DirectoryName$
        Create directory.
        CHDIR DirectoryName$
        Change current directory.
        RMDIR DirectoryName$
        Remove directory.
        KILL FileMask$
        Delete files.
        FILES FileMask$
        Out files.
        SYSTEM
        Quit from interpretter.
        WINDOW (UpperColumn%,UpperRow%)-(LowerColumn%,LowerRow%)
        Redirect scree to window.
        LIST [LineNumber%[,EndLineNumber%]]
        Output program lines.
        DELETE LineNumber%[,EndLineNumber%]
        Delete program lines.
        SAVE FileName$
        Save current program into file.
        LOAD FileName$
        Load program from file.
        NEW
        Clear current program and reset interpretter.
        GO TO|SUB LineNumber%
        Run GO TO or GO SUB statement.
        RETURN
        Return from GO SUB subroutine.
        TRON
        Set trace mode to on.
        TROFF
        Set trace mode to off.
        RUN
        Run current program.
        END
        End current running program.
        LET VarName=Expression
        Set value for variable.
        WHILE Conditional
        WEND
        The WHILE loop.
        FROM VarName%=StartValue% TO EndValue%
        NEXT VarName%
        The FROM (like FOR) loop.
        EXIT WHILE|FROM
        Exit from current WHILE or FROM loop.
        IF Conditional THEN Statement[ ELSE Statement]
        The IF conditional operator.
        DEF FNName[(Arg[,Arg...])]=Expression
        Declare the user - defined function.
        SCREEN BW40|CO40|BW80|CO80|MONO
        Change screen mode.
System variables:
        DATE$
        Contain current date in format: MM-DD-YYYY.
        TIME$
        Contain current time in format: HH:MM:SS.
        PROMPT$
        Contain current (G)Basic prompt.
String functions:
        INKEY$
        If pressed any alphabetic or numeric key, then return it (one symbol
        length string). If pressed special keys (like F1 - F10), then return
        two - symbols string: CHR$(0)+CHR$(CodeOfKey%). If keys is not
        pressed, then return empty string.
        INPUT$[(#FileNumber%)]
        Perform input from keyboard or file.
        STR$(Value%)
        Number, converted to string.
        CHR$(Code%)
        Symbol on code.
        TRIM$(Line$)
        Line$ without leading and trailing spaces.
        MID$(Line$,Start%,Count%)
        Part of Line$, startted on Start% symbol, length Count% symbols.
        DAYOFWEEK(Year%,Month%,Day%)
        Return name of day.
Numeric functions:
        LEN(Line$)
        Return length of line.
        INSTR(Line$,SubLine$)
        Return number of first occurence of SubLine$ in Line$.
        ASC(Line$)
        Return code of first symbol in line.
        CRC32(Line$)
        Return CRC-32 code of line.
        VAL(Value$)
        Convert string number to number.
        SQR(Value#)
        Return the square root of value.
        ABS(Value#)
        Return absolute value of Value#.
        INT(Value#)
        Return integer part of Value#.
        SIN(Value#)
        Return sine of Value#.
        COS(Value#)
        Return co - sine of Value#.
        ATN(Value#)
        Return arc tangent of Value#.
        EOF(#FileNumber%)
        If EOF, then return 1 (true), else return 0 (false).
Constans:
        PI=3.1415926535897932385,BLACK=0,BLUE=1,GREEN=2,CYAN=3,RED=4,MAGENTA=5
        BROWN=6,LIGHTGRAY=7,DARKGRAY=8,LIGHTBLUE=9,LIGHTGREEN=10,LIGHTCYAN=11
        LIGHTRED=12,LIGHTMAGENTA=13,YELLOW=14,WHITE=15,FALSE=0,TRUE=1
Operators:
        Value[!|@|#|$|%|&]      +       Value[!|@|#|$|%|&]
        Value[!|@|#|%|&]        -       Value[!|@|#|%|&]
        Value[!|@|#|%|&]        /       Value[!|@|#|%|&]
        Value[!|@|#|%|&]        \       Value[!|@|#|%|&]
        Value[!|@|#|%|&]        *       Value[!|@|#|%|&]
        Value[!|@|#|$|%|&]      =       Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      <       Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      >       Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      <=      Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      =<      Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      =>      Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      >=      Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      <>      Value[!|@|#|$|%|&]
        Value[!|@|#|$|%|&]      ><      Value[!|@|#|$|%|&]
        Value[!|@|#|%|&]        AND     Value[!|@|#|%|&]
        Value[!|@|#|%|&]        OR      Value[!|@|#|%|&]
        Value[!|@|#|%|&]        XOR     Value[!|@|#|%|&]
        Value[!|@|#|%|&]        MOD     Value[!|@|#|%|&]
                                NOT     Value[!|@|#|%|&]
Note:
     "Print" statement output must be one expression any type.
     String expression for "Print" statement can be contain ANSI escape
     sequences: in (G)Basic integrated ANSI terminal emulator.
     Resource of (G)Basic:
     BASIC lines count = 155, whiles = 4, froms = 4, files = 4, deffns = 4,
     maximal arguments count for deffn = 4, variables = 16, gosubs = 4,
     maximal arguments count for ANSI sequence = 4.