At 19:48:15 +0100 1/6/03, Jeroen Janssen <[EMAIL PROTECTED]> wrote:

> >`AddTwoThings' is just a helper function.  And the whole assembly is
>>packed with helper functions that the compiler uses.
>>
> >C# uses very very very few helper functions from assemblies.
>
>Ok, we will need to look if JScript also needs helper functions like these.

Yes, I think you will find that Microsoft's JScript is using helper functions.  At any 
rate, I don't know how you would implement J[ava]Script without them, because (unlike 
C#) there is a lot of potentially complex logic implied in basic operations like "+" 
-- see Miguel's AddTwoThings example.

In the JANET source, the files JPrimitive.cs, JObjects.cs, and JRuntime.cs are 
essentially all "helper code" in this sense.  The other files are only needed for 
compilation (and operations like "eval"), but these three files, two of which are 
fairly large, are needed to support the compiled code.

One key point is that currently, JANET generates a call to the support library for 
every operation.  This is because so far I've only implemented ECMAScript 3, which 
doesn't include type declarations.  In JScript, you may have type information at 
compile time, in which case the support library operations can often be optimized 
away.  I haven't tried to address that yet in JANET.

Slightly off-topic: can anyone point me at a complete specification for JScript.NET?  
Failing that, is there a reasonably complete reference manual that can be used in lieu 
of a specification?  The last time I looked on the Microsoft site (which was a while 
ago), all I could find was a brief "introduction to JScript" -- not very satisfying if 
you're trying to produce your own language implementation.

-- Steve

_______________________________________________
Mono-list maillist  -  [EMAIL PROTECTED]
http://lists.ximian.com/mailman/listinfo/mono-list

Reply via email to