[Libre-soc-bugs] [Bug 916] New: re-evaluate rewriting pseudo-code parser as part of making it ingest latex and generate c/python

bugzilla-daemon at libre-soc.org bugzilla-daemon at libre-soc.org
Wed Aug 31 06:17:34 BST 2022


https://bugs.libre-soc.org/show_bug.cgi?id=916

            Bug ID: 916
           Summary: re-evaluate rewriting pseudo-code parser as part of
                    making it ingest latex and generate c/python
           Product: Libre-SOC's first SoC
           Version: unspecified
          Hardware: PC
                OS: Linux
            Status: CONFIRMED
          Severity: enhancement
          Priority: ---
         Component: Source Code
          Assignee: programmerjake at gmail.com
          Reporter: programmerjake at gmail.com
                CC: libre-soc-bugs at lists.libre-soc.org, lkcl at lkcl.net,
                    programmerjake at gmail.com, toshaan at vantosh.com
   NLnet milestone: ---

This task is delayed until new nlnet grants are available, or RED Semi. wants
to fund it, at which point we can re-evaluate if we want to do it then.

toshaan seemed to think it was a good idea to have libre-soc's simulator work
on becoming an official OPF reference simulator (though not necessarily the
only one, others are also working on stuff like this).

The parser/compiler needs to be rewritten (preferably in c++ or maybe rust (has
lots of useful features for writing compilers), as a recursive-descent parser)
to generate proper error messages, and do proper type checking, and other
checks.

The end goal is such that the parser/compiler will always either error or the
generated output code will work -- the existing parser/compiler is not very
good with nearly undecipherable error messages and often generating code that
won't run correctly. This will make it much easier to use for others who are
developing their own instructions -- all they have to do is write pseudo-code
and they can test their implementation against the simulated pseudo-code they
wrote.

The output will be switchable between outputting C and outputting python.
Outputting C is preferred since C is much easier to interface with other
programming languages than python is.

The input will be the latex version of the PowerISA spec (not embedded or
included in the parser/compiler, since it might still be under OPF NDA and
can't be released yet).

If OPF takes too long to release the latex source, it might be worth it to
figure out some way to generate latex from their released pdf (pdftohtml and a
bit of translation? it just needs to be sufficient to run the pseudo-code, it
doesn't have to look nice or be complete).

-- 
You are receiving this mail because:
You are on the CC list for the bug.


More information about the libre-soc-bugs mailing list