[Mono-list] ECMA compliance

Serge serge@wildwestsoftware.com
Thu, 22 Nov 2001 15:18:51 +0200


Unfortunatelly I can't get the OCXT tool running, because I don't have
MSOffice installed (ha!)
But you may also want to check the tool that was used to generate some code
in Mono libs:
http://mono.eurosoft.od.ua/lib-all.tar.gz
Pre-generated code is included in the archive.
It's very similar to OCXT except for that the main XSLT script is portable
:)
OCXT scripts are generally not portable, because they use msxsl extensions.
I think it's rather unfortunate choice to rely on Office/Word for such a
tool.
Some observations:
The older XML library-definitions have contained some errors that made it
very hard to generate compilable code. I hope this is fixed in the newer
file.
There were two slightly different formats, one used for original ECMA
submission (older) and newer format available at MSDN. The newer format
contains more information, but older contains more classes. Some stuff in
the older file is still relevant, mostly values for some enums - it appears
to be the only "official" source for values of enum literals.
Notice that lots of enums in Mono libs initially had wrong values, and were
replaced with auto-generated code.

If OCXT produces fully compilable code (or newer XML file is fixed) when
it's pretty straightforward to automate verification process:
1) generate code with OCXT or suchlike tool;
2) compile the generated code into say corlib_spec.dll
3) compile mcs/class/corlib into corlib.dll
4) verifier corlib_spec.dll corlib.dll
5) read the log :-)

perhaps, it would be nice to write custom NAnt task to execute verifier.

There is one caveat:
verifier is unable to load assemblies that contain definition for
System.Object.
To overcome this limitation you could build the new tool using Mono's
metadata library.
Also I have some C# code to read/parse metadata directly - it could be used
too, but it's in the early stage.

Also, I'd personally would love to see documentation rendered in PDF or RTF
instead of DOC.

Hope this helps,
Sergey





----- Original Message -----
From: "Nick Drochak" <ndrochak@gol.com>
To: "Mono-List" <mono-list@ximian.com>
Cc: "Nick D Drochak" <ndrochak@gol.com>
Sent: Thursday, November 22, 2001 8:04 AM
Subject: RE: [Mono-list] ECMA compliance


> | Interest?  Suggestions?  Disdain? ;-)
> |
>
> I am interested in such a thing.  It would be a useful "unit test" to make
> sure that no one accidentally changes a class in such a way to break it's
> interface.
>
> Perhaps we can extend Sergey's verifier?  At the very least I'm sure
there's
> some good code in there we can factor out and use.
>
>
> Nick D.
>
>
> _______________________________________________
> Mono-list maillist  -  Mono-list@ximian.com
> http://lists.ximian.com/mailman/listinfo/mono-list
>