unofficial mirror of guile-user@gnu.org 
 help / color / mirror / Atom feed
From: Richard Todd <richardt@vzavenue.net>
Subject: GuileSIC v0.7 available
Date: Fri, 12 Dec 2003 00:42:18 -0600	[thread overview]
Message-ID: <20031212064218.GA8304@pazuzu> (raw)


[-- Attachment #1.1: Type: text/plain, Size: 2705 bytes --]

GuileSIC is a BASIC->guile translator.
Version 0.7 is available from the same spot as previous releases:
  http://www.vzavenue.net/~rwtodd5128/index.html

There are quite a few changes as I tried to make the design more
general, and am (barely) starting to document it.  I also couldn't
help but add several new features in the process.

(if you try this out I'm pretty sure you'll need the newest LALR 
module from that same page as well).

As usual, any feedback you have will help make this project better,
so please don't hesitate.  My current hope is to reach version 1.0
by 01/12/2004.

Richard Todd

(NEWS excerpt):
Version 0.7   (12/11/2003)

User-Visible Changes:

  Better Visual Basic Compatibility
    - WHILE/WEND (gwbasic syntax) changed to WHILE/END WHILE (vb syntax)
    - FUNC/END FUNC changed to FUNCTION/END FUNCTION (vb syntax)
    - string-concatenation operator '&' is now available
    - using '_' to escape newlines is now available 
      (this is like using '\' at end of lines in a shell script, 
       except that you are allowed to put whitespace and comments
       after the '_').  See bottom of tests/guessNumber.bas for 
       an example.

  Utility guile-basic.scm is now an installed script (pass -h for help)

  New BASIC features
    - You can declare variables as LOCAL, which scopes them to functions
      instead of making them global.  See tests/LocalVars.bas for examples.
    - The ^ exponentiation operator is now available 
    - LOAD "filename.bas"  loads another basic file like an
      #include<> would work in C.  The lexer maintains an input-port 
      stack, so the loaded file can load further files.

  Reorganized, and Texinfo docs started
    - Docs need much more work!
    - Lots of internal changes to clean up and reorganize the code
    - Now the code is in private modules (lang basic lexer), 
      (lang basic parser), and (lang basic parsed-statements) in addition 
      to the user-visible (lang basic)

  Better error-checking and reporting
    - Reports on a `$FILE:$LINE: $MSG' format, so emacs and other
      editors can take you to the conversion errors.
    - Attempts to do elementary semantic checks (to the extent that it can,
      given that this BASIC is essentially as runtime-typed as scheme is).
 
  Thread-Safety
    - Eliminated global state using closures and goops classes so that 
      multiple BASIC parsers should be able to run cuncurrently.

  Speed
    - Expands the parser at 'make' time, instead of run-time.  So, the
      lalr package dependency is still there, but only for make-ing.
    - This makes a noticeable startup-time difference.

[-- Attachment #1.2: Type: application/pgp-signature, Size: 189 bytes --]

[-- Attachment #2: Type: text/plain, Size: 139 bytes --]

_______________________________________________
Guile-user mailing list
Guile-user@gnu.org
http://mail.gnu.org/mailman/listinfo/guile-user

                 reply	other threads:[~2003-12-12  6:42 UTC|newest]

Thread overview: [no followups] expand[flat|nested]  mbox.gz  Atom feed

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://www.gnu.org/software/guile/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20031212064218.GA8304@pazuzu \
    --to=richardt@vzavenue.net \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).