Flocoder

I have now got a crude implementation of the Flocoder Flip program written using Flex and Bison. It can take a Flocoder file from the MUSS sources and extract what I hope is compilable MUSL code. The code is on GitHub.

I am not 100% sure that the code is valid as I have taken a very naïve approach to the code generation stage. Every BOX except the start box is labelled, and every BOX ends with a jump to the next box in the FLOW sequence. It does not attempt to merge consecutive BOXes.

However, I am hoping that this is enough to take the original Flocoder source for Flip and turn that into MUSL that I can then compile. The next step, which I have just started, is to create a MUSL to C compiler that will generate C from the Flocoder source for Flip, so I can get a version of Flip working in C. If I can do that then I should be able to process the Flocoder files using the proper code for Flip and compiling those to C as well.

This entry was posted in MUSS, Retro-Computing. Bookmark the permalink.

4 Responses to Flocoder

  1. John says:

    Perhaps you could also produce a ‘MUSL Primer’ manual or a ‘Beginners guide to MUSL’ manual so that we might have some chance of learning MUSL. Whilst I used MU5 and Flocoder quite a bit whilst I was an undergraduate at Manchester (mainly with Pascal, Fortran, Z80/6502 & PDP-11 assemblers), I never got to program in MUSL – which I’m now regretting! The MUSL documentation in the MUSS manual is at best a reference if you already know it!

    Good luck with the MUSL compiler!

    PS If you have the Flocoder files for Flocoder, then just add another box level (2?), add the c code that relates to the level 0 English flowcharts to these level 2 boxes, Flip it for level 2 and get a working Flocoder c program!

    • rjarratt says:

      Well, I never programmed in MUSL either, so it would be hard for me to produce a primer. I never used Flocoder either. I am going to have to work out the semantics from the manual and from the sources I have. I never thought of adding the C code as a level 2, but that wouldn’t help me to bootstrap a MUSS build as I would still need to write a MUSL compiler.

  2. Prof Greg Egan says:

    Great progress Rob. I was one of the few and perhaps the only one that escaped flocodet. Prof Morris was happy to let me do my own thing. One of my other friends recently said to me that it was amazing that I could still cut code so quickly at my age. I think it was a complement and you seem to have the same gene.

    Cheers

    • rjarratt says:

      I never used Flocoder either (see other reply). It looks like just before my time there was an attempt to get undergraduates to use it, but it never happened to me. I still enjoy writing code more than just about anything else, and I still get to do it professionally too, although not nearly as often as I used to.

Leave a Reply to John Cancel reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s