Hi,

It's great to get a compiler for a mainstream programming language inside NuttX!

I will try to get a look at this.

Thank you!

Sebastien

Le 12/03/2022 à 01:51, Gregory Nutt a écrit :
Now that I am not longer on the critical path for NuttX support, I am much
less involved in the RTOS.  I thought, perhaps, people might be interested
in what I have been up to.

I have spent the last 6 months or so working on that Pascal compiler that I
used to use with NuttX a few years ago. This is just fun stuff; I don't
think it has has any applicability to businesses at all.

I have basically done these things:

- I have upgraded the language definition to state of most current desktop
Pascal compilers (FreePascal, Lazarus, GNU Pascal) but avoiding the trend
to make it object-oriented Pascal.  Pascal with classes, exceptions, etc.
doesn't feel right to me.

- I have ported the toolchain and P-Code VM to run on NuttX again.  The
toolchain is rather large, but not so large that you could not use it on
some MCUs with more resources.  For more resource constrained platforms,
the VM alone is pretty small and perfectly usable.

- I have a VM start-up C task that can boot the OS into Pascal (for
example, the Pascal shell).

- There is the beginning of a Pascal shell that supports a few commands.
In particular, it supports running multiple Pascal threads (by spawning
multiple copies of the VM).

- Currently it runs on Linux and NuttX.  But I would like to get the VM
running on near-bare metal too.

- I would like to see the compiler work JIT so that I could send Pascal
source to the target and it just runs.

- And lots of other fun ideas.

You can see the code here:  https://github.com/patacongo/Pascal and there
is a WIP document with some history and language specifics here:
https://github.com/patacongo/Pascal/blob/main/doc/PascalNotes.md

The code is pretty stable but still not too difficult to produce compile
errors, although those are getting rarer and rarer.

Greg

Reply via email to