Quick details, more write-up to come:

  • Line numbers are not necessary and will be assigned.
  • Labels can consist of A-Z, a-z, 0-9, _, and -. They can be any length, but a maximum line length is 256 characters. Label “definitions” must start a line and end with a single colon. Labels can be referenced any place a line number can be used, currently: THEN, ELSE, [ON]GOTO, [ON]GOSUB, and ON ERROR.
  • Comments are any line that start with REM or // (C/C++ style single line comment notation). XB also has a “trailing comment” designated by a ! that causes the rest of the line to be ignored. The C-style // comments will be stripped from the code, but the REM and ! comments will be retained in the output.
  • Leading space is ignored so you can indent as much as you like.
  • Long lines can be split by ending a line with .. (double period). These lines will be joined into one long line and the XB limit of 140 characters will be checked.
  • The starting line number and line number increment can be specified.
(must be between 1 and 32767)
(must be between 1 and 100)

8 thoughts on “TIdBiT – TI BASIC Translator

  • February 11, 2011 at 10:30 am
    Permalink

    Works as advertised. It really makes code much more readable, especially with the long labels and the indentation.

    Reply
  • February 16, 2011 at 12:13 am
    Permalink

    I’m looking forward to getting involved with this… Thanks for the hard work, Matthew!

    Reply
  • February 16, 2011 at 1:37 am
    Permalink

    I’m working on a large program right now that requires many “jumps” and “jump-backs”… Something that labels are much better suited for than line numbers. I knocked out a good chunk of the framework very quickly using this translator. The more I use it, the better I like it. I’m just free-form coding in Notepad++ and pasting into TIdBiT and it works like a charm. Is there any size limitation to the code I can paste in for translation?

    Reply
  • February 16, 2011 at 9:01 am
    Permalink

    Hey Owen, I’m glad you are getting some use from it. The only limit is the size limitation for a form post in my web server configuration. Currently that limit is about 2MB to 8MB I think. So, for a TI BASIC program, practically no limitation. :-)

    If you end up using it heavily, I could probably be enticed to make a desktop version.

    Reply
  • February 17, 2011 at 11:30 pm
    Permalink

    Matthew— I REALLY wish I had started my program in this syntax…. It’s proving to be difficult to integrate on the fly. Once I convert and run– if there’s a bug, I’m not updating my TIdBiT source, just fixing it in Classic99 on the fly… It’s a bit tough to debug and update the program, my XB source in Notepad and my TIdBiT source as well.

    Next project, I think I’ll program in TIdBit and just “translate” it each time I want to run…. Kinda like assembly source that you have to assemble before running. I wonder if we could go in reverse?? “Disassemble” XB code into TIdBiT?

    Reply
  • February 17, 2011 at 11:35 pm
    Permalink

    The only problem with going in reverse is, the translator can not come up with descriptive labels. Also, the computer can’t really decide how you want your formatting, since everyone does it a little differently. I think the results would be less than desirable.

    Reply
  • November 4, 2014 at 11:27 pm
    Permalink

    A desktop version will be soooo nice! Having to use the command line to run the php script every time is cumbersome and clumsy at best. Using the web version is slick, but ties you to an internet connection which may not always be available.

    Reply
    • November 5, 2014 at 12:34 am
      Permalink

      Let me see what kind of bindings there are for PHP and a GUI lib (like QT). However, no matter how you run the translator the workflow from TidBit to a running program in an emulator is still cumbersome at best.

      Reply

Leave a Reply

Your email address will not be published. Required fields are marked *

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">