How about a BASIC that uses Labels instead of line numbers, and actual names for variables - some of the statements are different, for example instead of 'Input' labelbasic uses 'ask' (Each statment begins with a unique letter)

git your own copy at : https://codeberg.org/WasPentalive/LabelBasic.git

all 29 comments

sorted by: hot top controversial new old
[–] 8 points 3 months ago (10 children)

There have been variations on BASIC that use labels since at least the '80s.

  • source
  • hideshow 10 child comments
  • [–] 5 points 3 months ago (6 children)

    And variable names, too ... not sure why OP is reinventing the wheel here.

  • source
  • parent
  • hideshow 6 child comments
  • [–] 4 points 3 months ago (2 children)

    Why doesn't [thing I'm not aware of] exist?

  • source
  • parent
  • hideshow 2 child comments
  • [–] 2 points 3 months ago (1 child)
  • [–] 3 points 3 months ago (7 children)

    OP why would we want this, compared to all the other versions of BASIC with labels?

  • source
  • hideshow 7 child comments
  • [–] [S] 2 points 3 months ago (4 children)

    Maybe you don't want it, that's fine. I developed it for myself, but since I enjoy Free Open Source software, I am giving it away to anyone who would like to play with it.

  • source
  • parent
  • hideshow 4 child comments
  • [–] 0 points 3 months ago (3 children)

    As you are promoting it as something new I was hoping you would tell me about the unique aspects, advantages, or differences from existing options.

  • source
  • parent
  • hideshow 3 child comments
  • [–] [S] 2 points 3 months ago (1 child)

    It is less structured than bwbasic can be - it still uses goto and call (gosub) and If statments that can only goto someplace (not structured If statements) No case / switch statement yet. It is not as complete in the function area as it could be. It is still a work in progress. - The most unique things are lines you goto/call can be labeled - variables can have long names not just A1 B C7 etc. index, done, the keyword LET is required (for parsing reasons)

  • source
  • parent
  • hideshow 1 child comment
  • [–] 1 point 3 months ago (7 children)

    String arrays are a must, and you'll have to be able to keep open several different files at once. How about DATA/READ/RESTORE statements?

  • source
  • hideshow 7 child comments
  • [–] [S] 2 points 3 months ago (1 child)

    I will consider those, thanks for the input. - I have constrained myself: Each statement starts with a unique letter, just to make parsing a tiny bit easier. Also so far I don't have file input - only output to files - for printing on a printer or sending to gnuplot perhaps. That does not mean I can't have an OPEN "filename",r to replace stdin temporarily.

  • source
  • parent
  • hideshow 1 child comment
  • [–] [S] 1 point 3 months ago

    "Mat $strings(400)" gives you $strings(0) .. $strings(399) just like C, You can do two dimensonal strig arrays also. Please look over the remaining unused letters and let me know how you would integrate DATA statement. Remember, I am keeping the first letter unique.

  • source
  • parent
  • [–] [S] 1 point 3 months ago* (3 children)

    for string arrays -- MAT $BOX(3,5) == 15 CHARACTERS OR 15 STRINGS ? I think it does the latter already. Note, I am nearly 70 years old - I got "help" coding this. (oh noe here comes a storm)

  • source
  • parent
  • hideshow 3 child comments
  • [–] 1 point 3 months ago (2 children)

    MAT [dollar]BOX(3,5) should give a two-dimensional array of strings, of course.

  • source
  • parent
  • hideshow 2 child comments