
     
     
     
     
     
     
     
     
     
     
     
     
                    BAS2SB - BASIC to Structured BASIC Converter
     
                                  (c)opyright 1988
     
                           International No-Bugs Software
     
                                Program Information
       
     
     
                                    INTRODUCTION
     
     
              BAS2SB  automates many of the source code  re-formatting 
              procedures  commonly performed when switching over  from 
              BASICA  or  GW-BASIC  to the  new  generation  of  BASIC 
              compilers (such as Turbo BASIC or QuickBASIC).
     
     
              BAS2SB programs become much more comprehensible,  and as 
              a  result,  much  simpler  to  convert  into  structured 
              formats.   This will allow you to take full advantage of 
              QuickBASIC or Turbo BASIC.
     
     
              BAS2SB  uses a BASIC source code file (ASCII format)  as 
              its  standard  input,  and  returns  a  newly  formatted 
              program that includes:
     
                 1)     One statement per program line          
                 2)     IF, THEN, ELSE Nested Indentation
                 3)     END IF blocked structures
                 4)     Removal of non-targeted line numbers
                 5)     Replacement  of  targeted lines  with  either 
                        program generated, or user-supplied labels
     
     
     
                                        NOTE
     
     
              Don't expect to recognize your new programs immediately. 
              BAS2SB  does  NOT alter variables or  actual  code,  but 
              linear programs with meaningful line labels take time to 
              adjust  to.   It is highly advisable to have a hard copy 
              of  the  original (numbered) source code at  hand  while 
              adding  mneumonic labels.  Each target line can then  be 
              respresented  by  the function it  performs.   You  will 
              probably  find  this approach is worth the  extra  time, 
              since it must be performed only once.
     
       
     
     
     
                                    USING BAS2SB
     
     
              BAS2SB  needs very little assistance in converting BASIC 
              programs. Listed below are the only requirements:
     
                 1)  Program must be in ASCII format (save with ",A").
                 2)  Program lines must NOT contain any line-feeds or
                     other control characters. 
                 3)  Program lines must not exceed 255 characters.
                 4)  Program source file must have a .BAS extension.
     
     
              BAS2SB   does  NOT  alter  the  original  source   file.  
              Instead, another file with the extension .SBX is created 
              that will run under QuickBASIC and Turbo BASIC.
     
     
     
     
                                 OPERATIONAL NOTES
     
     
              When  invoking  BAS2SB,  you  will  be  prompted  for  a 
              filename.   Do  NOT include an extension - the only  one 
              allowed is the default, .BAS.
     
              If  the  source file is located,  BAS2SB will  begin  to 
              reformat  the  source  file  by  looking  at  each  line 
              individually  and will present each target  line  number 
              and a prompt for an optional label.
     
              When prompted, you may choose to:
                 
                 1)  Enter a line label (up to 20 Characters).
     
                 2)  Enter a RETURN. (BAS2SB will provide the label).
     
                 3)  Enter a period.  From that point forward,  BAS2SB 
                     will provide target labels.
     
              The number listed on the LEFT side of the display is the 
              source line number being examined.
     
              The  number (if any) on the RIGHT side of the display is 
              the target line number that was found in a corresponding 
              GOTO,  GOSUB,  THEN,  ELSE, etc.  Once a target has been 
              labeled,  further  references  to  that target  will  be 
              automatically replaced without user intervention.
       
     
     
     
                                   ERROR TRAPPING
     
     
              In  the case of ERL references,  BAS2SB will retain  the 
              original  line number references in the newly  generated 
              source  file.   This allows proper trapping through  the 
              use of the IF ERL construct.
     
     
                                    FINAL NOTE
     
              BAS2SB  performs no error checking.   Any BASIC  program 
              that compiles correctly BEFORE conversion should compile 
              correctly  AFTER  conversion.    BAS2SB  will  not   fix 
              programs that do not run.
