• 0 Posts
  • 150 Comments
Joined 2 years ago
cake
Cake day: June 16th, 2023

help-circle
  • Wormhole X-treme is the best. They criticize and second guess every plot-issue on the series.

    My favorite is on the last season:

    • I’m writing the story for this episode, and the characters are stuck on $complex_situation$. I don’t know how to get them out, do you have any idea?

    • Why don’t they $stuff_stagate_did_2_episodes_ago$?

    • What? No! That’s stupid! - and goes on for a minute or so enumerating all the problems with the plot.














  • Oh, ok. You want to learn PIC assembly.

    Forth is a fun language, in that most of what one would study on compilers do no apply to it at all. You would need some book specifically aimed at Forth.

    I don’t think you will get anything useful from computer science material. You need focused, technical material, not theory.

    Anyway, a processor manual is usually called a “datasheet”. (E.g. https://ww1.microchip.com/downloads/en/devicedoc/35007b.pdf) That will have the hardware information (instructions, interruptions, I/O, embedded devices, hardware flags, register types, etc).

    The types, variables, and control flow are defined by the language, not the hardware. And again, whatever Forth gives you will be highly unusual and probably not covered on a compilers book. I don’t have a good book on Forth to recommend.

    (I hope somebody gets a better recommendation than mine, because honestly, now that I understood your problem, this is quite useless. Sorry.)


  • “Deeper understanding of how these compilers are written” you can get in a compiler book. I’ve found a copy of the dragon book here: https://iitd-plos.github.io/col729/refs/ALSUdragonbook.pdf

    Currently, I’d recommend you read a monadic parser tutorial and jump over the practical material about compiler parsing (the theory is still very useful). There re more modern books, more focused on semantics, but I don’t remember of any to recommend you.

    “Deeper understanding about compilers across different architectures” looks like an assembly course to me. If you want to compare RISC and CISC, you’ll probably want x86 assembly and something like MIPS. (Notice that you will probably never use any of those on practice. But any assembly you would use on practice is too complicated to start with.)

    But that “yet share common compiled structures” part, I have no idea at all. I’m not sure anybody formally studies this. You may want to read about the LLVM intermediate representation and how to create a backend for it.