congdm / Patchouli-Compiler

An Oberon-07 compiler for Intel 64 (AMD64) architecture
62 stars 9 forks source link

Compiler Does Not Produce an EXE #3

Closed BrianOtto closed 8 years ago

BrianOtto commented 8 years ago

I tried compiling the Hello World program and no EXE was produced. Is this expected?

I was hoping to start learning Oberon, and this was the only compiler I could find that works on Windows and implemented the 07 spec. Is this just a proof of concept, or is the compiler supposed to produce a working EXE?

I copy-pasted the Hello World example in the README, named it "test.mod" and ran: AyaCompile.exe test.mod

I got the following, but no EXE was produced ...

No errors found. Code size: 0 Global variables size: 0 Static data size: 128 Compile time: 31 miliseconds

BrianOtto commented 8 years ago

Actually, never mind, this was an issue on my end.

I am new to Oberon, and I didn't realize the Hello World program was supposed to be in two files. When I separated the code into "User32.mod" and "Test.mod" and compiled "User32.mod" first, the compiler produced an executable.

Thank you for your work on this compiler! Time for me to start learning the language :)

kpmy commented 8 years ago

@BrianOtto Hi, for learning purpose you can also try web-version of oberon compiler http://oberspace.dyndns.org/oberonjs.html

congdm commented 8 years ago

Hi, Sorry for the lack of reply, for I was too busy at the end of semester. At its current state, my compiler only suitable for producing simple programs and demonstrate the strength of Oberon-07 syntax, which could be adapted for any traditional kind of environments. However, using it to craft even small but complex program is quite a daunting task, for the lack of garbage collector.

BrianOtto commented 8 years ago

@kpmy Thank you for the link!

@congdm No problem, thank you for the info :) I am only writing some very simple programs right now, but good to know if I start doing anything more complex.