Peter Amstutz wrote:
> Well, I haven't had a chance to sit down and work on this, but basically
> I have a few principals I want to follow:
>
> 1) It should be very easy to write by hand. Requiring less typing than
> XML for example.
> 2) It should be readable and scan well, minimize extraneous and
> "magical" punctuation. It should be somewhat context-sensitive.
Well one of the easiest things to immediately grasp is simple key=value
pairs. I think we will need some kind of grouping syntax though. This
could be Python-style and just use indenting, or use actual start and
end markers.
<objectname> =
types = ...
<childobject> =
...
<type-specific> = <val>
<nextobject> =
...
or
<objectname> {
types = <type1>, <type2>, <type3>
<childobject> {
types = ...
}
<type-specific-key> = <value>
<type-specific-key> = <value>
children = <childreference>, <childreference>
}
e.g.
terangreal {
avatar {
types = misc:avatar
misc:nick {
# Since a property key is given (the loading code will have
# a list of these, added by metaobjects), we can
# assume this object has "property:property"
# type and don't make them specify that:
property:value = reed
property:type = text/plain
}
# Or maybe you should be able to just do this, and assume that
# any unknown keys mean to create a property with the given value:
misc:fullname = "Reed Hedges"
}
bookmarks
{
# A comma could let you continue on a new line
# (like Python I think, and gnu awk, let you do):
children = vip://interreality.org/world,
vip://interreality.org/otherworld,
vip://blacksun.com/world
}
example:xyzzy {
# referencing other objects in this config file:
children = avatar, bookmarks, vip://foo.bar/baz
}
}
> 5) It should be suitable for writing anything from simple configuration
> files up to complete worlds.
I think we should favor "simple configuration files" over "complete
world", i.e., not worry that much about parsing efficiency or whatever,
since binary COD does pretty well at that.
Reed
_______________________________________________
vos-d mailing list
[email protected]
http://www.interreality.org/cgi-bin/mailman/listinfo/vos-d