PN5_50519


Patch Number

Ticket Number

Change type

5_50519

Internal

Patch

1. Description

Internal

                CI, Update BASIC command to also pass in program name to code formatter.

                CI, add default OPEN clause for open statement that donÆt have one.

                For example, [OPEN name TO filevar] now becomes [OPEN name TO filevar ELSE STOP 201, name]

                (Sample test)
                    open a to b
                    openseq a to b
                    open "DICT":a to b
                    open zzz to yyy else stop
                    openseq abc to cde on error goto 100
                    open upcase(abc) : "\" : seq(10) : efg TO file

                CI, add default ELSE clause for read statement that donÆt have one.

                For example, [READ rec FROM file, id] Now becomes, ]READ rec FROM file, id ELSE rec = ""]

                (sample test)
                   read reca from file, id else null
                    read recb from file, id else null
                    read recc from file, id
                    if x = 1 then read recd from file, id
                    a = 1; read rece from file, is ; y = 1
                    reAD variable1 froM variable2, expression
                    reADL variable1 froM variable2, expression
                    reADSEQ Variable froM FileVar
                    reADT variable froM expression
                    reADU variable1 froM variable2, expression
                    reADV variable1 froM  variable2, expression1, expression2
                    reADVU variable1 froM  variable2, expression1, expression2
                    read x fron id
                    read reca from file, id on error goto error:

                CI, Drop LET syntax.

                CI, Parse [GO SUB] to [GOSUB]

        CI, Check that subroutine name matches file name.

                CI, reword the text for CASE command.

        CI, Ignore $options in  jFormatCode.

        options.b
            $options ext
            $options abc
            $options efg
            crt hello


        options.b
            0001 * $options ext
            0002 * $options abc
            0003 * $options efg
            0004     CRT hello

        CI, Add translation for TCLREAD and replace with @SENTENCE to jFormatCode.

        Original source:
            tclread line
            tclread myValue ;* get the cmd line details
            tclread myValue ; x = 1 ; read rec from file, is else NULL        ;* typical picky stuff
            stop

        jformatcode -p  tclread.b
            0001     line = @SENTENCE
            0002     myvalue = @SENTENCE  ;* get the cmd line details
            0003     myvalue = @SENTENCE  ; x = 1 ; READ rec FROM file, is ELSE NULL        ;* typical picky stuff
            0004     STOP

        CI, Add built in equates to the list of reserved words for jFormatCode, (jbc.h)

                jformatcode -p -d  equtest.b

                o:0001     include JBC.h
                f:0001     INCLUDE JBC.h
                o:0002
                f:0002
                o:0003     a = JIOCTL_COMMAND_SEEK
                f:0003     a = JIOCTL_COMMAND_SEEK
                o:0004     b = JIOCTL_COMMAND_GENERATE_VIEWS
                f:0004     b = JIOCTL_COMMAND_GENERATE_VIEWS
                o:0005     c = EDict_ColDefault_Visible
                f:0005     c = EDict_ColDefault_Visible
                o:0006     d = EDict_ColDefault_NotVisible
                f:0006     d = EDict_ColDefault_NotVisible
                o:0007
                f:0007
                o:0008     a = jioctl_command_seek
                f:0008     a = JIOCTL_COMMAND_SEEK
                o:0009     b = jioctl_command_generate_views
                f:0009     b = JIOCTL_COMMAND_GENERATE_VIEWS
                o:0010     c = edict_coldefault_visible
                f:0010     c = EDict_ColDefault_Visible
                o:0011     d = edict_coldefault_notvisible
                f:0011     d = EDict_ColDefault_NotVisible
                o:0012
                f:0012


                0001     INCLUDE JBC.h
                0002
                0003     a = JIOCTL_COMMAND_SEEK
                0004     b = JIOCTL_COMMAND_GENERATE_VIEWS
                0005     c = EDict_ColDefault_Visible
                0006     d = EDict_ColDefault_NotVisible
                0007
                0008     a = JIOCTL_COMMAND_SEEK
                0009     b = JIOCTL_COMMAND_GENERATE_VIEWS
                0010     c = EDict_ColDefault_Visible
                0011     d = EDict_ColDefault_NotVisible

        CI, Add CASING statement to the list of reserved words for jFormatCode

        jformatcode -p -d casingtest.b

        o:0001     cRT "hello"
        f:0001     CRT "hello"
        o:0002     cASiNG ON
        f:0002     CASING ON
        o:0003     crt "there"
        f:0003     CRT "there"
        o:0004     casing off
        f:0004     CASING OFF


        0001     CRT "hello"
        0002     CASING ON
        0003     CRT "there"
        0004     CASING OFF

        Runtime, WHERE, TIME commands produce no output when case_insensitive_runtime_strings = true, CW713738

        Fix for TIME,  remove from list of commands to case in jsh

2. Previous Release Behavior

na

3. Current Release Behavior

should work when porting....

0001     PROGRAM jfctest
0002     OPEN 'MD' ELSE STOP 201, 'MD'
0003     OPEN 'cust' TO cust_fv ELSE STOP 201, 'cust'
0004     commandline = @SENTENCE
0005     READ rec FROM 'LIST' ELSE rec = ""
0006     x='x'
0007     CRT x
0008 * $options daft line
0009     GOSUB  mysub
0010     STOP
0011
0012 mysub:
0013     RETURN