Talk About Network



Register and Login
Nick
Password
Register create new account Sign up is FREE and you can post replies, new topics, bookmark posts and more!
Recover lost password


Programming > Basic Misc > Announce: New S...
Latest [ Topics | Posts ] Archive Post A New Topic Post a Reply
<< Topic < Post Post 1 of 1 Topic 1426 of 1466
Post > Topic >>

Announce: New Snapshot Release of BDB-BASIC (0.21)

by ve3wwg@[EMAIL PROTECTED] Feb 23, 2008 at 11:51 AM

RELEASE 0.21 of BDB-Basic:

1.  ACCEPT FIELD support is now complete. It also
    includes the ability to input numeric values.

2.  CRT.* member additions :

        CRT.CRTMODE
        CRT.HAS_UNDERLINE etc.
        CRT.HAS_COLOUR

3.  PRINT Bug Fixes:

        FG(X) and BG(X) now only issues colour setting
        calls when colours are supported (otherwise these
        are ignored). This allows you to write programs
        using colour without having to code separately
        for monochrome terminals.

        Fixed an annoying roundoff bug in the PRINT
        statement support. Now values are printed with
        the correct precision.

4.  PIC$(X,FMT$) function support.

        Now you can do picture formatting, very similar
        to COBOL. This is also used by the ACCEPT FIELD
        statement (depending upon options used).

5.  Interpreter Bug Fixes.

        Fixed an internal floating point expression error
        related to %g was also eliminated by using the
        %.*g technique. Now values like 10032.54 don't
        turn into 10032.50.

6. SYS.* Member additions:

        Added precision constants SYS.DIM_DIGITS,
        SYS.LONG_DIGITS, SYS.SHORT_DIGITS, SYS.LONG_BITS
        and SYS.SHORT_BITS.

        Also added the mathematical constants:
        SYS.PI, SYS.PI2, SYS.PIBY2, SYS.INVPI and SYS.E.

        Constants to support the random number generator
        were added: SYS.RINT,  SYS.RBERNOULLI,
        SYS.RBINOMIAL,  SYS.RNEGATIVE_BINOMIAL,
        SYS.RPOISSON,  SYS.RGEOMETRIC,  SYS.RUNIFORM,
        SYS.REXPONENTIAL,  SYS.RWEIBULL,  SYS.RNORMAL,
        SYS.RLOGNORMAL,  SYS.RCHISQUARE,
        SYS.RTDISTRIBUTION,  SYS.RFDISTRIBUTION, and
        SYS.RERLANG.

7. Added Scientific Function Support:

        Implemented interpreter changes to treat a large
        group of functions under a few byte codes. This
        paved the way for adding many functions.

        Implemented many mathematical functions: SIGN(x),
        ACOS(x), ASIN(x), COSH(x), SINH(x), EXP(x),
        LOG(x), LOG10(x), SIN(x), COS(x), TAN(x), TANH(x),
        CEIL(x), FABS(x), FLOOR(x), SQRT(x), POW(x,y),
        FMOD(x,y) and ATAN2(x,y).

        Added functions DEG(x) and RAD(x) to convert
        between degrees and radians.

8. Misc Functions:

        Added and documented essential functions CHR$(X)
        and ASC(S$).

9. Format Funtions.

        Added conversion functions GFMT$(x) and EFMT(x).

10. Numeric Conversion Functions

        Now SHORT(S$), LONG(S$) and DIM(S$) calls will
        now accept string arguments. A string to numeric
        conversion takes place if the values are
        numerically valid (leading and trailing blanks are
        ignored).

11. New String Functions

        Added the functions INSTR(X$,Y$), STRING$(X$,N),
        LEFT$(X$,N), MID$(X$,START,N) and RIGHT$(X$,N).

12. Advanced Random Number Support

        Thanks to the sourceforge.net authors Weili Chen
        and Zixuan Ma, I was able to add advanced random
        number support SRAND(X) and RAND(X,...) to the
        interpreter.

        * Standard rand(3) integer
        * Bernoulli distribution
        * Binomial distribution
        * Negative Binomial distribution
        * Poisson distribution
        * Geometric distribution
        * Uniform distribution
        * Exponential distribution
        * Weibull distribution
        * Normal distribution
        * Log-Normal distribution
        * Chi-square distribution
        * t-distribution
        * F-distribution
        * Erlang distribution

===========================

What is BDB-Basic?

This project is about a BASIC language interpreter that is based
heavily upon the Berkeley DB database software (or just BDB). It not
only uses BDB for managing user databases, but uses BDB internally for
indexing of variable tables and other program elements.

Project Focus:

With literally hundreds of other BASIC dialects out there, you need to
be informed about how this BASIC differs from others. Listed below are
some of the features of this BASIC implementation:

    * Designed to be simple to program by non-programmers, whether
SOHO operators, hobbyists or scientists/engineers.
    * Designed to be "database powerful" with a minimum of programming
(no SQL required)
    * Simple for writing screens, complete with attribute and colour
control
    * Few if any hard-coded constants. The interpreter provides a few
built-in structures with constants that can be referred to by name.
    * Functionality and simplicity first (not smallness or speed)
    * Business and programmer friendly oriented features (for example
the PIC$() function)

Project Influences

    * Data General's MICOS BASIC is the main inspiration for many of
the interpreter concepts
    * Ada95 inspired the implementation of arrays and array slicing
    * The built-in records and constants are the author's own
innovation

===========

More Information about BDB-Basic and its supported language features
are found here:

     http://bdbbasic.wiki.sourceforge.net/

--
Warren.




 1 Posts in Topic:
Announce: New Snapshot Release of BDB-BASIC (0.21)
ve3wwg@[EMAIL PROTECTED]   2008-02-23 11:51:22 

Post A Reply:
  Go here to Signup

AddThis Feed Button


About - Advertising - Contact - Frequently Asked Questions - Privacy Policy - Terms of Use - Signup

Contact
tan12V112 Wed May 14 10:59:36 CDT 2008.