[ d20statblock.org ] a grammar

I think codifying things to the point of having them in some kind of BNF/EBNF/DTD is a great idea.

I think there are some important areas not yet covered by the style guide, and it's mostly because of the informality of the approach.

For example:
- How are templates supposed to be displayed (eg. Half-Dragon)?
- How are special powers supposed to be described in magical weapons or armor (eg "+2 longsword (defending)")?

If things can be better codified, and that becomes standard, it also helps "corral" d20 publishers creating new material. This makes more likely that new material will fit a well defined "database format".

Coming from another angle, For compl

Regards,
 

log in or register to remove this ad

Luke said:
I think codifying things to the point of having them in some kind of BNF/EBNF/DTD is a great idea.

Yeah, so do I. I was thinking of making a DTD, but never actualy did anything. Jmettraux's been doing everything - thanks a ton, jmettraux!

Luke said:
- How are templates supposed to be displayed (eg. Half-Dragon)?
- How are special powers supposed to be described in magical weapons or armor (eg "+2 longsword (defending)")?

I'll certainly work on this, but not until the basics are covered. the nice thing about ENBF is that it's easy to work with - anyone can tweak them once they're set up.

Luke said:
If things can be better codified, and that becomes standard, it also helps "corral" d20 publishers creating new material. This makes more likely that new material will fit a well defined "database format".

That's my hope!
 

I'm very intersted in all this, and it's actually on my list of things I want to do for my project. Although, it's a more distant goal. My current understanding of xml (etc...) is pretty minimal, so I'm trying to implement other things first.

I've been looking for a formal standard to emerge, and my lack of kowledge of these markups (and limited time to learn) has kept me at lurker status in all these discussions.

/me watches with confused interest.

But I do think an agreed standard would go a long way to making everyone's software much more accepted. Most people, it seems, like every piece of software for a few reasons, and don't use any one product exclusively. Transparent data-porting I think would be a great goal for everyone to work on.
 

CRGreathouse said:

...Bison...

I wasn't having any luck downloading this. Is it just me, or is the link dead?

Edit: The download link, not the link you provided.

Charles,

Go to http://www.cygwin.com/ and install cygwin, you'll have all the unix tools on your windows desktop. If you need assistance for the installation, just send me a private email.

But, well... I don't think you will need bison right away, we want to turn your standard vision into a "E"? "BNF" document at first, any parser will come later. So your referee skills are required now ;)


- The grammar -

Latest version :
http://cvs.sourceforge.net/cgi-bin/...?rev=1.5&content-type=text/vnd.viewcvs-markup
Diff :
http://cvs.sourceforge.net/cgi-bin/...port_samples/standard.ebnf.diff?r1=1.3&r2=1.5
 

jmettraux said:
But, well... I don't think you will need bison right away, we want to turn your standard vision into a "E"? "BNF" document at first, any parser will come later. So your referee skills are required now ;)

I think that testing it with a parser generator could help us get there, that's all.
 
Last edited:

CRGreathouse said:


I think that testing it with a parser generator could help us get there, that's all.

I've made a few changes (especially to the size and type section);

OK ! The sooner we get to a format used by a parser generator, the less work we will have.

I will commit your changes to the grammar monday morning. Well done !

What would you think of :
languages: "Languages spoken: " language (", " language)*
language: String
 

jmettraux said:
What would you think of : [language section omitted]

It's an oft-requested feature. Actually, now that I think about it, I don't know why I didn't just put it in from the start - normally I don't weant to add more options than needed, but this one would be easy enough for a person or program to ignore since it's broken out.
 

New version of the grammar :
http://cvs.sourceforge.net/cgi-bin/...rev=HEAD&content-type=text/vnd.viewcvs-markup
diff :
http://cvs.sourceforge.net/cgi-bin/...port_samples/standard.ebnf.diff?r1=1.5&r2=1.7

Thanks Charles ! Your refinements are smart.


Two propositions :

1) I'm sure you already thought about it, but shouldn't this thread appear somehow in the d20 publishers forum ?

2) We could run a sourceforge project just for d20statblock.org's documents, so we could more easily collaborate. (Though the grammar itself will reach a 'stable' state sooner or later)
 

jmettraux said:
1) I'm sure you already thought about it, but shouldn't this thread appear somehow in the d20 publishers forum ?

2) We could run a sourceforge project just for d20statblock.org's documents, so we could more easily collaborate. (Though the grammar itself will reach a 'stable' state sooner or later)

1. I'd prefer to wait until it's a little more mature. Right now we're just working out the major bugs.
2. I've never worked with sourceforge. What are the advantages? What things would be moved there? In general, I have no objection - but I'd like to know more.
 
Last edited:

CRGreathouse said:

1. I'd prefer to wait until it's a little more mature. Right now we're just working out the major bugs.
2. I've never worked with sourceforge. What are the advantages? What things would be moved there? In general, I have no objection - but I'd like to know more.

1) :)

2)

You would be able to commit your changes directly.

We should move there the grammar itself and any other document related. A lot of examples should be stored there too.

The source code for a validation parser (a parser that just says 'yes this stat block is standard') could be a nice addon.
(We could run it online somewhere).

You could also store there your web site like I do for dgsh :
http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/dgsh/dgsh/doc/
 

Remove ads

Top