Login
Username:

Password:

Remember me



Lost Password?

Register now!

Sections

Who's Online
40 user(s) are online (34 user(s) are browsing Forums)

Members: 0
Guests: 40

more...

Support us!

Headlines

 
  Register To Post  

What's the status of the C++ runtimes
Just popping in
Just popping in


See User information
I'm writing a BASIC to C++ exporter/transpiler in C++11. I need to know if I can use it on AmigaOS after I'm done with the Haiku native version: It's called Yab2Cpp.

Go to top
Re: What's the status of the C++ runtimes
Just popping in
Just popping in


See User information
There’s a lot of BASIC which one is it?

Go to top
Re: What's the status of the C++ runtimes
Home away from home
Home away from home


See User information
@Samurai_Crow

Can you make youtube video, talk about it a bit. show what its about.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: What's the status of the C++ runtimes
Just can't stay away
Just can't stay away


See User information
@Samurai_Crow

I checked code briefly and didn't find a reason why it didn't work. I have some projects using C++17 (very selectively but anyway).


Go to top
Re: What's the status of the C++ runtimes
Just popping in
Just popping in


See User information
@Kamelito

YAB stands for "Yet Another BASIC". It is the BASIC interpreter used by the Haiku operating system as a hand-me-down from the later days of BeOS. It's fully open-source and exists for making GUI based applications much easier to write.

@LiveForIt

It uses the same algorithm as Mequa was going to use on XAmos before he died. I plan on making it work with AmiDark's AmosPro Unity libraries sometime after Yab but would like to share some code with your Amos Kittens project as well on AmigaOS 4 if you are willing.

In the meantime I'll be focusing on making Yab compile using C++11 as a backend. Maybe if I can find some help I might get an Amiga Yab working as well. (The interpreter is partially translated to Windows, Mac and Linux using FLTK as an API.)

@Capehill

Thanks for looking into it. Not having to backport completely down to C99 helps a lot.

Go to top
Re: What's the status of the C++ runtimes
Home away from home
Home away from home


See User information
@Samurai_Crow

“It uses the same algorithm as Mequa was going to use on XAmos”

I’m not sure I can comment on that, I don’t know what he was planning. I know XAMOS was too different, you had to adapted your games and programs to make the games or programs work in XAMOS. Being ASCII interpreter, it was also too slow. I don’t want to gloat on his work, its pretty good attempt, I don’t know how many attempts he had before doing it.

I had several related projects under my belt at attempting at scripting languages, Amos Kittens was maybe my 2en or 3rd attempts at a language, I had also done several mockup languages (not counted) to render labels etc, I knew I can do it, but also know that it be lots of work. why I did not continue the work on XAMOS was simply because it did not do what I needed.

Its like having a spoon when you need a screwdriver.

As for YAB I have no experience with it, so it be nice if you give an introduction to it, and explain way you think it’s the correct tool for the job.
I’m cures to see what you come up whit, but I have now moved on to other projects.

(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: What's the status of the C++ runtimes
Just popping in
Just popping in


See User information
@LiveForIt

To describe the compilation strategy see this Yab2Cpp wiki entry.

Go to top
Re: What's the status of the C++ runtimes
Home away from home
Home away from home


See User information
@Samurai_Crow

You can’t translate Amos to C, 1 to 1.

For example in AMOS, you can do the following:

A$="1"
Gosub "MyLabel"+a$
END

MyLabel1:
return

Also labels are inside procedures,

so numeric values for labels wont work.

You also you will run into problems with "restore" and "data" commamds that part was really tricky, data can contain commands, and values.

Some variables declared as global, some are local, but Amos allows variables that are declared outside of procedure to be shared with some procedures but not all. Its whacky stuff that is tricky to get right.

Also, you say you like to combine, Amos Pro and Amos Kittens, but Amos Pro is written 100% in assembler. Amiga Amos Kittens that are 100% written in C, and few places some C++, that’s also tricky, I did not pay any attention to the internals of Amos when I wrote Amos Kittens, so all internals are different. They were never meant to be combined. Likewise, the XAMOS is also different beast. In other words, you should pick one. If you like to make a compiler.




Edited by LiveForIt on 2021/3/24 13:39:13
Edited by LiveForIt on 2021/3/24 13:42:12
Edited by LiveForIt on 2021/3/24 13:44:21
Edited by LiveForIt on 2021/3/24 14:01:38
Edited by LiveForIt on 2021/3/24 14:05:35
(NutsAboutAmiga)

Basilisk II for AmigaOS4
AmigaInputAnywhere
Excalibur
and other tools and apps.
Go to top
Re: What's the status of the C++ runtimes
Just popping in
Just popping in


See User information
Since all the named labels are behind a string hash lookup to translate to the numbers, your example might already work. Computed Goto and Gosub commands might take some more doing because they are numbered but nothing a second hash can't provide. The functions-in-the-data-statements are indeed tricky. I might need to link to a second C++ file to implement that coroutine. This is my second attempt at compiling AmosPro as portable code. The first failed attempt was codenamed Mattathias.

Go to top

  Register To Post

 




Currently Active Users Viewing This Thread: 1 ( 0 members and 1 Anonymous Users )




Powered by XOOPS 2.0 © 2001-2024 The XOOPS Project