[Coco] Using the Basic09 type statement. CORRECTION

James Jones jejones3141 at gmail.com
Tue Apr 13 14:26:36 EDT 2021


One issue is that BASIC09 is like K&R 1st edition C. TYPEs, the equivalent
of structs, share a common namespace for fields. You have two types with
identically-named fields. That won't work. (I hasten to add that each
procedure gets its own symbol table.)

On Thu, Apr 8, 2021, 10:26 Wayne Campbell <asa.rand at gmail.com> wrote:

> I went through the code and made corrections. The resulting code does work,
> but it is not the best code. I would have liked to have just put the text
> here in this message, but I'm having to use my phone right now and it gives
> me more trouble than it's worth when it comes to trying to put text into an
> email.
>
> On Sun, Apr 4, 2021, 12:49 PM Wayne Campbell <asa.rand at gmail.com> wrote:
>
> >  I'm seeing a few problems. Most notably, you're defining apage as type
> > PAGE, but you have no type statement for type PAGE. As for the rest, I
> > would have to actually enter the code in and run tests on it to figure
> out
> > exactly what you're doing wrong.
> >
> > On Sun, Apr 4, 2021, 7:01 AM <coco at jechar.ca> wrote:
> >
> >> Ignore original code. Equal signe were missing from three lines.
> >> Program still has issues though.
> >>
> >> Revised Code
> >>
> >> PROCEDURE ttype
> >>   0000
> >>   0001      TYPE LINE=sline:STRING[17]
> >>   0011      TYPE HEADER=head:STRING[21]
> >>   0021 ERR     TYPE SCREEN=head:HEADER;sline:LINE[6]
> >>   0049      (* Trying to say that type SCREEN is a HEDER followed by an
> >> array of 6 LINEs s each consisting of up to 17 characters. *)
> >>   00C2
> >>   00C3      DIM aline:LINE
> >>   00CC      DIM ahead:HEADER
> >>   00D5      DIM apage:PAGE
> >>   00DE
> >>   00DF      apage.ahead="This is the Header field of the page"
> >>   010E      apage.aline(1)="This is line ONE of the page."
> >>   0138      apage.aline(2)="This is line TWO of the page."
> >>   0162      apage.aline(3)="This is line THREE of the page."
> >>   018E
> >>   018F      PRINT apage
> >>   0194
> >>   0195      END
> >> 00DD ERROR #024
> >> 00E6 ERROR #066
> >> 010D ERROR #071
> >> 0114 ERROR #065
> >> 0117 ERROR #066
> >> 0137 ERROR #071
> >> 013E ERROR #065
> >> 0141 ERROR #066
> >> 0161 ERROR #071
> >> 0168 ERROR #065
> >> 016B ERROR #066
> >> 018D ERROR #071
> >>
> >>
> >>
> >> On 2021-04-04 10:14, coco at jechar.ca wrote:
> >> > I am trying to create a type that consists of a field that is a 21
> >> > character string
> >> > followed by a field that is an array of 17 character strings. I read
> >> > some documentation and am not sure it is even possible this was my
> >> > attempt and it's errors,
> >> >
> >> > PROCEDURE ttype
> >> >  0000
> >> >  0001      TYPE LINE=sline:STRING[17]
> >> >  0011      TYPE HEADER=head:STRING[21]
> >> >  0021 ERR     TYPE SCREEN=head:HEADER;sline:LINE[6]
> >> >  0049      (* Trying to say that type SCREEN is a HEDER followed by an
> >> > array of 6 LINEs s each consisting of up to 17 characters. *)
> >> >  00C2
> >> >  00C3      DIM aline:LINE
> >> >  00CC      DIM ahead:HEADER
> >> >  00D5      DIM apage:PAGE
> >> >  00DE
> >> >  00DF      apage.ahead="This is the Header field of the page"
> >> >  010E ERR     apage.aline(1) "This is line ONE of the page."
> >> >  013F ERR     apage.aline(2) "This is line TWO of the page."
> >> >  0170 ERR     apage.aline(3) "This is line THREE of the page."
> >> >  01A3
> >> >  01A4      PRINT apage
> >> >  01A9
> >> >  01AA      END
> >> > 00DD ERROR #024
> >> > 00E6 ERROR #066
> >> > 010D ERROR #071
> >> >
> >> > Can this be fixed or am I trying to do the impossible.
> >> >
> >> > Charlie
> >>
> >> --
> >> Coco mailing list
> >> Coco at maltedmedia.com
> >> https://pairlist5.pair.net/mailman/listinfo/coco
> >>
> >
>
> --
> Coco mailing list
> Coco at maltedmedia.com
> https://pairlist5.pair.net/mailman/listinfo/coco
>


More information about the Coco mailing list