tinycc-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Tinycc-devel] Re : Re: Can a biggener (and idiot) like me read and und


From: david . koch
Subject: [Tinycc-devel] Re : Re: Can a biggener (and idiot) like me read and understand TCC's backend so I can create my own frontend with it?
Date: Sat, 29 Jan 2022 15:56:49 +0100 (CET)

Indeed, Pascal is a very good programming language to forces you to be 
organised.

And the 68000 ISA is one of the cleanest out there, not build upon an older one.

You can try Easy68K as an editor and Sim68K as an emulator to run your code :

http://www.easy68k.com/ (source is available)

Then perhaps a full Atari ST emulator (once you master code generation and 
relocation) :

https://github.com/Kochise/atari-emu and https://docs.dev-docs.org/ for 
hard/soft documents

Going the x86 route first is not the most straightforward, it is cumbersome 
with its many quirks.

I'd say 68k -> SH -> MIPS -> ARM -> PPC -> x86 -> AMD64

Regards.

----- Mail d'origine -----
De: Samir Ribić via Tinycc-devel <tinycc-devel@nongnu.org>
À: jullien@eligis.com, tinycc-devel@nongnu.org
Cc: Samir Ribić <sribic@etf.unsa.ba>
Envoyé: Sat, 29 Jan 2022 11:41:07 +0100 (CET)
Objet: Re: [Tinycc-devel] Can a biggener (and idiot) like me read and 
understand TCC's backend so I can create my own frontend with it?

I have already sent a tutorial to rempas to make a simple compiler using
parser generator Coco/r, but there is one extremely simple tutorial to
learn writing compilers from scratch: Let's build a compiler by Jack
Crenshaw  Let's Build a Compiler (iecc.com)
<https://compilers.iecc.com/crenshaw/> . It is Pascal and Motorola 68000
target based. Do not discard it as obsolete. Pascal is a very readable
programming language, and MC 68000 has a quite good instruction set.

On Sat, Jan 29, 2022 at 11:11 AM Christian Jullien <eligis@orange.fr> wrote:

> I suggest you start with something simple:
>
>
>
> A language that implement 4 arithmetic integer operations, has integer
> variables, allows to define functions and includes print function as
> library function.
>
> Chose the syntax you like and start to write you own compiler that
> generate intermediate internal code, then choose a backend (for example C)
> that generates code corresponding to your intermediate code.
>
>
>
> You’ll learn of lot of things and you’ll get 80% of the knowledge you’ll
> need to write serious things.
>
>
>
> This globally how works my Lisp compiler from Lisp files up to standalone
> executable.
>
>
>
> See https://en.wikipedia.org/wiki/OpenLisp#Compiler
>
>
>
> *From:* Tinycc-devel [mailto:tinycc-devel-bounces+eligis=
> orange.fr@nongnu.org] *On Behalf Of *ian
> *Sent:* Saturday, January 29, 2022 10:43
> *To:* rempas via Tinycc-devel
> *Subject:* Re: [Tinycc-devel] Can a biggener (and idiot) like me read and
> understand TCC's backend so I can create my own frontend with it?
>
>
>
> Hi
>
> One thing or the other :
>
> - you wanna learn asm or algorithmics, and it's not the best place; but
> you obviously need to have to know them a "few",
>
> - or, you already know how to code something in ASM, and then the
> suggested book about how to make an interpreter is the good starting point
> for you.
>
> Rgds
>
> Le 29/01/2022 à 10:08, rempas via Tinycc-devel a écrit :
>
> 29 Ιαν 2022, 03:20 Από sean@conman.org:
>
>
>
> It was thus said that the Great rempas via Tinycc-devel once stated:
>
>
>
> I would advice you to start with this 
> https://craftinginterpreters.com/contents.html first.
>
>
>
> The rest will follow before you know it.
>
>
>
> Thanks! However, I don't understand how this will help me. I mean, I don't
>
> even want to create an intepreter to begin with. So this has nothing to do
>
> with what I want to make. Unless you are referring to the frontend so in
>
> this case, It will probably be a good idea to read this book. Or maybe I
>
> should make an intepreter in the end? Hmmmmm....
>
>
>
>
>
> It's interpreters all the way down (what do you think CPUs do with machine
>
> code?  They interpret it).  Also, if you have parsed code into a form you
>
> can interpret, you have enough information to generate machine code.
>
>
>
>  -spc
>
>
>
> _______________________________________________
>
> Tinycc-devel mailing list
>
> Tinycc-devel@nongnu.org
>
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
>
>
> I don't know if I'm that stupid but I really don't understand. I know that 
> the CPU interprets the instructions but an interpreter will use a programming 
> language to interpret. For example, the following statement:
>
>
>
> `println("Hello from my lang: {}", "BestLang")`
>
>
>
> will be translated to (suppose the interpreted is written in C) and then be 
> executed:
>
>
>
> `printf("Hello from my lang: %s", "BestLang);`
>
>
>
> So how is this going to teach my assembly and how the instructions are 
> represented in binary? The book specifically says that it won't work with 
> teaching assembly. The interpreted is a binary that takes source code and 
> executes it. It doesn't create a binary. So I really don't understand what's 
> going on here...
>
>
>
> _______________________________________________
>
> Tinycc-devel mailing list
>
> Tinycc-devel@nongnu.org
>
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>
> --
> -- sibian0218@gmail.com
> -- Développeur compulsif
> _______________________________________________
> Tinycc-devel mailing list
> Tinycc-devel@nongnu.org
> https://lists.nongnu.org/mailman/listinfo/tinycc-devel
>




reply via email to

[Prev in Thread] Current Thread [Next in Thread]