April 25, 2024, 09:15:20 PM

News:

IonicWind Snippit Manager 2.xx Released!  Install it on a memory stick and take it with you!  With or without IWBasic!


A few questions

Started by Parker, November 08, 2005, 08:37:46 PM

Previous topic - Next topic

0 Members and 3 Guests are viewing this topic.

Parker

November 08, 2005, 08:37:46 PM Last Edit: November 08, 2005, 09:22:09 PM by VirusScanner
Before I buy it, although I'm pretty set on it :) I have a few questions about the language / IDE
1 - Will (or does) the compiler support enumerations?
2 - Will macros be supported in something like #define CPRINT(clr,text) CONSOLECOLOR(clr,0); PRINT(text); ?
3 - Will the IDE be similar to the 'other languages' or are other features expected to be added?
4 - Is it easy to access classes' member functions in ASM (for example, call MyClass_MyFunction) or is it weird like VC?

I think that's it for now. The major one I think is macros support since it would make conversion of C headers much easier. But even if none are implemented I still think I'm buying it and trying some incc file conversions.

This is an awesome project :) Thanks Paul!

Edit: Just remembered my other questions
5 - Will windows include files be a conversion of the Platform SDK windows.h, etc or the VB include file used in the "other language"? The VB one doesn't really include all of the current API, so I'm hoping for the Platform SDK. I'll start on conversions now if they might become part of the official distrobution, although it may take a while. Of course, if a utility is planned that would be so much faster.
6 - Will unicode strings be supported? This is another big one, since both windows and linux use unicode internally and it seems like unicode is becoming the standard. Well, after thinking about it, it wouldn't really be inconvienent to implement this as a class... hmm...

Ionic Wind Support Team

And here is your answers:

1. Eventually

2. If there is enough call for it.  Don't use them myself

3. The IDE is based on the scintilla control.  Rigth now it is a shell and only a few scintilla features are enabled, like code folding.  Hints and autocompletion will hopefully be ready by the beta, once all the keyword names are finished.

4. It is hard in all OOP languages to call class members in assembly, that is the nature of how compilers have to mangle names so the linker doesn't have conflicts.  Virtual functions have to be accessed through a jump table.

5. The VB include file has too many errors, and it will be simpler to convert windows header files.  I'll write a utility to aid in the process.

6. Yes. 

Ionic Wind Support Team

Parker

I figured out how to call class member functions. methodname@classname. I don't know how the jump table works though, but that's okay. I'm sure with some looking through asm files I can figure it out.

Ionic Wind Support Team

The mangled names are guaranteed to change.  To support overloaded functions the name will have the parameter types ASCII encrypted.   So if a function takes one INT parameter and returns a STRING the mangled name my look like

classname@AC?membername

Each variable type gets assigned a specific ASCII character.

Ionic Wind Support Team