Click Here
home features news forums classifieds faqs links search
6071 members 
Amiga Q&A /  Free for All /  Emulation /  Gaming / (Latest Posts)
Login

Nickname

Password

Lost Password?

Don't have an account yet?
Register now!

Support Amigaworld.net
Your support is needed and is appreciated as Amigaworld.net is primarily dependent upon the support of its users.
Donate

Menu
Main sections
» Home
» Features
» News
» Forums
» Classifieds
» Links
» Downloads
Extras
» OS4 Zone
» IRC Network
» AmigaWorld Radio
» Newsfeed
» Top Members
» Amiga Dealers
Information
» About Us
» FAQs
» Advertise
» Polls
» Terms of Service
» Search

IRC Channel
Server: irc.amigaworld.net
Ports: 1024,5555, 6665-6669
SSL port: 6697
Channel: #Amigaworld
Channel Policy and Guidelines

Who's Online
22 crawler(s) on-line.
 129 guest(s) on-line.
 1 member(s) on-line.


 Rob

You are an anonymous user.
Register Now!
 Rob:  3 mins ago
 MEGA_RJ_MICAL:  19 mins ago
 t0lkien:  24 mins ago
 amigakit:  45 mins ago
 OneTimer1:  58 mins ago
 Troels:  1 hr 59 mins ago
 Gunnar:  2 hrs 14 mins ago
 zipper:  2 hrs 43 mins ago
 NutsAboutAmiga:  3 hrs 49 mins ago
 kolla:  4 hrs 1 min ago

/  Forum Index
   /  Amiga General Chat
      /  What about AmigaAnywhere/AmigaDE?
Register To Post

Goto page ( Previous Page 1 | 2 | 3 )
PosterThread
gonegahgah 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 9-Dec-2012 22:06:14
#41 ]
Regular Member
Joined: 5-Dec-2008
Posts: 148
From: Australia

@Chris_Y

Thanks for those. They all look fairly similar to each other though there are most likely differences between them.

@cdimauro

I had a look at the screen shots and some of the example code. The screenshots do indeed look good and may indeed be able to develop a new language; possibly even a new VP compiler.

But I'm developing something that is wholly open ended. What I'm writing is a different way and a different intent. With my approach you can create a closed language that is complete in itself - like a complete c or c++ compiler - or you can create a language and leave it still open to mods which is my intent with a new VP compiler. In other words you will be able to change the new VP compiler's functionality live. You couldn't do that with any of these.

@thread

One of the current 'features' of the old VP compiler that I will be removing is its present action of multiply resolving defines. Under mine defines will resolve to only one level.
So for example if you were to do the following:
.define mydef1 mydef2
.define mydef2 def3
.print mydef1

The current compiler would output: def3.
Under my compiler it will output: mydef2.

Fortunately this 'feature' never gets used anyway so it should be harmless to remove it.
Although it may seem like a lovely and clever thing to have; removing it allows me to do more powerful things.

Instead if you wanted what was in mydef2 to go into mydef1 you would be required to do the following in my VP compiler:
.define mydef2 def3
.define mydef1 %mydef2
.print mydef1

Which would now output: def3.

One of the reasons that I am doing this is because I am also changing the way the VP compiler passes arguments in this respect.
Though fortunately this doesn't impinge upon the existing include files in any fashion which always makes things easier.

Also, under the old compiler if you did the following:
.define mydef arg1,arg2
mymacro mydef

then the macro would receive arg1 as %1 and arg2 as %2.
Under my new compiler the macro will instead receive arg1,arg2 as %1.

As I say, this doesn't affect any of the current include files provided with VP so although it may seem less magical; it actually allows more powerful things to be done. It also brings a greater consistency and predictability to the system.

I have other features in place that will allow coders to achieve anything they may have wanted to achieve using multi-level resolution of definitions.
One such thing is that I am adding more generalised expanders using the '%' that was previously used just on single letters and on numbers for macro arguments.
Here is an example form to show some of this:
.print Hello %{__names_%currentgroup##_%currentrank}
If I just did .print Hello __names_%currentgroup##_%currentrank
it would just output to one level for example it might output: __names_allstars_3rd
but using the %{} then checks if this is defined as something and replaces with that.

So you can still achieve multi-stem name constructions, if you need them, but in a more explicit and obvious manner.

That two things I will have to upgrade in the included include files will be some instances of the use of single letter expanders where they are presently immediately followed by letters, numbers &/or underscores (spaces are okay); and also the use of .mjoin. Fortunately I can use search and replace for the first but I will have to find all .mjoins and recode them.

Using .mjoin in its current fashion is now impractical under my new approach and you would instead use .mjoin() in a command instead. For example:
.macro .printsum
__.if %N=1
____.eval %1
____.print %e
__.else
____.printsum %1+%2,.mjoin(3) ; Allows args 3 onwards to be passed as remaining args.
__.endif
.endm

whereas the following was how you would previously do it:
.macro .printsum
__.if %N=1
____.eval %1
____.print %e
__.else
____.mjoin 3 ; Joins argument 3 onwards together as %3
____.printsum %1+%2,%3
__.endif
.endm

Last edited by gonegahgah on 09-Dec-2012 at 11:11 PM.

 Status: Offline
Profile     Report this post  
gonegahgah 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 10-Dec-2012 22:43:20
#42 ]
Regular Member
Joined: 5-Dec-2008
Posts: 148
From: Australia

Just adding another thing...

Old compiler's behaviour:
.define mydef1 mydef2
.define mydef2 def3
.print mydef1 ; Outputs: def3


Under new compiler I said similar could be done by:
.define mydef2 def3
.define mydef1 %mydef2
.print mydef1 ; Outputs: def3


But you will also be able to do similar by:
.define mydef1 mydef2
.define mydef2 def3
.print %{mydef1} ; Outputs: def3


This first expands mydef1 to mydef2 then the %{} expands this to def3.

The %{} in my compiler only resolves one further level also as intended.
You would have to use %{%{mydef}} to resolve another level again if you wanted.

I've also generalised the substring extraction. Substring extraction is another nice feature of VP.
In the current compiler you can only do things like %3{3,7} or variations to extract subparts of arguments passed to macros.
I will be extending this to all expansions and not just the numbered macro argument expansions.
Example: %mydef{"(",")"} will be expanded/replaced by the contents between the first pair of parenthesis of the string that mydef defines.
I will also be providing for example %2{} as a shorthand way to get the current length of the string in the argument or expander.
Currently you need to use %2{1,999} to get the length.

Please remember these are compiler operations not actual code instructions.
I spoke about the clever way that the VP compiler weaves compiler level operations with real code operations.
ie. if is real code; .if is not real code; it is a compiler action.

So this substring extraction I'm explaining is a compiler operation that doesn't produce real code by itself.
It might end up in real code if you put it there. ie. cpy %something{1,2}, iValue
In this case if something were defined as 87654 then this will end up as: cpy 87, iValue

I'm also allowing compiler values to be used whereas the present compiler only allows fixed values.
So for example you will be able to do %3{letternbr,letternbr} to get the next letter whereas you can't presently.

 Status: Offline
Profile     Report this post  
Wildstar128 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 8-Apr-2013 16:12:58
#43 ]
Regular Member
Joined: 8-May-2006
Posts: 178
From: Unknown

@Bugala

I have AmigaAnywhere 2 and on another harddrive somewhere, AmigaAnywhere 1.

AA2 is an API SDK. The only major update in 2.00 to the one Amiga Inc. and current developers are doing is probably enhancements to the compiling toolchain. In other words, more development in native binary targets. There maybe a few more updates or bug fixes but I'm only hypothesizing there.

AA2 does not use Tao Intent.

 Status: Offline
Profile     Report this post  
number6 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 8-Apr-2013 16:58:01
#44 ]
Elite Member
Joined: 25-Mar-2005
Posts: 11540
From: In the village

@Wildstar128

Quote:
The only major update in 2.00 to the one Amiga Inc. and current developers are doing is probably enhancements to the compiling toolchain.


Just to clarify, you're saying work on AmigaAnywhere2 has continued and is continuing, right?

#6

_________________
This posting, in its entirety, represents solely the perspective of the author.
*Secrecy has served us so well*

 Status: Offline
Profile     Report this post  
number6 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 31-Mar-2018 17:29:25
#45 ]
Elite Member
Joined: 25-Mar-2005
Posts: 11540
From: In the village

@thread

The Taos Operating System

3 year old thread with comments from ex-Tao employee and others, but surely newer info than anything in this AW thread. "Amiga" mentioned rather profusely throughout.

Link: courtesy Amiganews.de

#6

_________________
This posting, in its entirety, represents solely the perspective of the author.
*Secrecy has served us so well*

 Status: Offline
Profile     Report this post  
AmigaMac 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 31-Mar-2018 17:39:39
#46 ]
Super Member
Joined: 26-Oct-2002
Posts: 1094
From: 3rd Rock from the Sun!

@number6

Was certainly an interesting vicious circle of events surrounding the Amiga platform. A lot of horrible decisions made by those who thought they knew what was best for Amiga that really could have been avoided.

Last edited by AmigaMac on 31-Mar-2018 at 06:18 PM.

_________________

 Status: Offline
Profile     Report this post  
number6 
Re: What about AmigaAnywhere/AmigaDE?
Posted on 31-Mar-2018 20:22:44
#47 ]
Elite Member
Joined: 25-Mar-2005
Posts: 11540
From: In the village

@thread

I suppose to bring this further up to date I should include the fine summary:

AmigaAnywhere soon to become AmigaEverywhere

which, in tandem took us to:

Term Sheet for New Acquisition of Amiga Games Inc.

^That seems to be where the story officially ended.

#6


_________________
This posting, in its entirety, represents solely the perspective of the author.
*Secrecy has served us so well*

 Status: Offline
Profile     Report this post  
Goto page ( Previous Page 1 | 2 | 3 )

[ home ][ about us ][ privacy ] [ forums ][ classifieds ] [ links ][ news archive ] [ link to us ][ user account ]
Copyright (C) 2000 - 2019 Amigaworld.net.
Amigaworld.net was originally founded by David Doyle