I've posted a beta version of the Language Reference Parser online at
my web site (www.software-in-motion.com). This program parses the
REALbasic HTML Language Reference files for all instances of classes,
modules, interfaces, properties, constants, methods, functions,
events, and directives. It then builds an XML file that documents
all of this information that can more easily be read by programming
tools that must have knowledge of the contents of the REALbasic
frameworks.
I've released the code under the open source GPL license -- you're
free to use it for any purpose at all and modify it (but please send
modifications to me so I can ensure that the posted version is up to
date). I welcome any comments, including criticism, as long as you're
not really nasty. A little nasty I can handle. I'm from New York
City. ;-)
The Language Reference Parser handles many of the errors and format
inconsistencies in the LR documentation pages, but cannot cope with
all of them. These remaining documentation errors currently must be
handled by hand-editing the output XML file. So... it's not perfect,
but it still does a lot of the work for you.
It does handle:
1. An extraneous space within the parameter name in the
TemporaryFolder page
2. An extraneous space within the parameter name in the
RectControl.BalloonHelp page
3. An extraneous space within the method name in the
UDPSocket.JoinMulticastGroup page
4. Method and function parameter list tables that can be either 2
or 3 columns wide
5. Properties described in either:
a. Both Parameters and Syntax tables
b. Parameter table only
c. Syntax table only
6. Exception pages are organized in two different ways:
a. Method 1: (e.g., KeyChainException)
1. Page lists exception as being of type "Exception"
2. Exception properties are not listed
b. Method 2: (e.g., XMLReaderException)
1. Page lists exception as being of type "Class", with
superclass noted
2. Exception properties are listed
7. Methods that should be part of Array but are listed as if they
are global methods unassociated with Array
8. Pages that describe generic Constructor and Destructor are ignored
9. Parameters incorrectly listed with wrong type or name:
a. "Integer OR": (Collection.Item, Collection.Remove,
Group3D.Remove, MenuItem.Remove)
b. "Integer,": (Chr and ChrB functions)
c. "default file name": (GetSaveFolderItem)
d. "asString": (EmailMessage class methods)
10. Properties that are listed incorrectly (DragItem.Text has type as
Text instead of String)
11. Properties that are listed without types (BevelButton.Icon)
12. Return values that are not listed (StringProvider.GetString, Rnd
function, Screen function)
13. Properties that are documented on more than one page and
differently on each page (EmailMessage.FromAddress)
14. Inconsistencies in the structure of constructor parameter lists
**But it _does not_ handle these errors in the LR files:
1. Parameters that have no data type listed (i.e., data type can
be any type, such as in the Array function, IsNumeric function, Str
function)
2. Parameters that are not listed at all (Insert method, Remove
method, SortWith method)
3. Parameters that have no type listed because the parameters use
class constant values (GetFolderItem function)
4. Return value with no data type listed (Array function)
5. Incorrect return values (Pop has return listed as "The") --
this is probably an untyped return value since it's an Array function
6. Methods with no names (StandardInputStream class,
StandardOutputStream class, Variant class)
7. Constructors that are not documented (MemoryBlock, Picture)
8. Class constants (no consistent HTML format for them)
a. EasyTCPSocket
b. SocketCore
c. Serial
d. System
e. MouseCursor
f. XMLContentModel -- tables present but do not distinguish
between properties using each table's constants
g. XMLDOMException exception -- tables present but do not
distinguish between properties using each table's constants
h. XMLReader -- tables present but do not distinguish
between properties using each table's constants
i. HandleType (see BinaryStream)
j. Encodings
k. SpecialFolder
l. XMLNodeType
Dr. Scott Steinman
Brought to you by a grant from the Steinman Foundation (Thanks, Mom
and Dad!)
Recommended by Major University Studies Over the Leading Brand
steinman at midsouth dot rr dot com
I hope I die peacefully in my sleep like my grandfather. . .not
screaming in terror like his passengers. -- "Deep Thoughts", Jack Handy
_______________________________________________
Unsubscribe or switch delivery mode:
<http://www.realsoftware.com/support/listmanager/>
Search the archives of this list here:
<http://support.realsoftware.com/listarchives/lists.html>