Severed bunny head
Register | User Profile | Member List | F.A.Q | Privacy Policy | New Blog | Search Forums | Forums Home
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > EDF reference
 
Author
All times are GMT. The time now is 06:13. Post New Thread    Post A Reply
Gez
Why don't I have a custom title by now?!


Posts: 11373
Registered: 07-07


I'm looking for a full list of all EDF keywords. The wiki doesn't present an exhaustive list anywhere (for example, it mentions thingdelta in several place, but there's no listing of thingdelta along with thingtype and the likes). Also, is the language case-sensitive?

Old Post 08-26-11 09:32 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6123
Registered: 08-00



Gez said:
I'm looking for a full list of all EDF keywords. The wiki doesn't present an exhaustive list anywhere (for example, it mentions thingdelta in several place, but there's no listing of thingdelta along with thingtype and the likes). Also, is the language case-sensitive?

The old HTML documentation for Eternity is still more complete than the wiki articles. Amongst other things it fully describes the syntax including the fact that all EDF constructs (except string literals obviously) are interpreted as case-insensitive, including the mnemonics of things, states, terrain objects, etc.

Please see http://eternity.mancubus.net/stuff/edf_keywords.h

This is not a source file from EE; I pasted all the various defines into a single file. The section keywords are not included but are mentioned in the comments.

Also note that due to the functioning of libConfuse, keywords are only reserved when the grammar of the language expects a keyword to occur. For example:
code:
thingtype thingtype { ... }

This is a perfectly valid construct and will define a thing named "thingtype". This is in marked contrast to languages like C/C++/Java where you cannot, for example, define a variable named "int" or "for" or "return".

Old Post 08-26-11 15:06 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
Gez
Why don't I have a custom title by now?!


Posts: 11373
Registered: 07-07


Interesting, though I suppose it's still better practice for the coder to avoid using keywords in names. Just to avoid developing bad habits. ;)

Thanks for the list; I had missed quite a few. The main reason I asked was because I've added EDF as a known language in SLADE 3 so that it now provides keyword highlighting. It uses a pretty simple lexer, which is mostly unaware of the grammar (so it will color blue both "thingtype" in your example), and it has some problems with words containing a dash (e.g.: sound-fcmove) or a dot (e.g.: dmg_painstates.add), as well as words beginning with a number (e.g.: 3DDECORATION). It's also easily confused when a word could be either a keyword or a constant (e.g.: footclip the property vs. FOOTCLIP the flag). But well, it's better than nothing, and the DECORATE highlighting suffers from these limitations but nobody complained yet.

If you want to take a look and see if I made any mistake, it's config/languages/edf.txt in slade.pk3 from r1012 or above.

Old Post 08-26-11 19:46 #
Gez is offline Profile || Blog || PM || Search || Add Buddy IP || Edit || Quote
Quasar
Moderator


Posts: 6123
Registered: 08-00



Gez said:
Interesting, though I suppose it's still better practice for the coder to avoid using keywords in names. Just to avoid developing bad habits. ;)

Yup. You can do some pretty nasty looking stuff in EDF if you set your mind to it, but it's all heavily disrecommended ;)


Gez said:
If you want to take a look and see if I made any mistake, it's config/languages/edf.txt in slade.pk3 from r1012 or above.

bexoverride actually doesn't take any arguments and in fact, as of now anyway, does nothing.

It was meant to disable the processing of DEHACKED lumps but I ran into some interesting problems implementing it and haven't finished it...

Old Post 08-27-11 00:27 #
Quasar is offline Profile || Blog || PM || Email || Homepage || Search || Add Buddy IP || Edit || Quote
All times are GMT. The time now is 06:13. Post New Thread    Post A Reply
 
Doomworld Forums : Powered by vBulletin version 2.2.5 Doomworld Forums > Special Interest > Eternity > EDF reference

Show Printable Version | Email this Page | Subscribe to this Thread

 

Forum Rules:
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is OFF
vB code is ON
Smilies are OFF
[IMG] code is ON
 

< Contact Us - Doomworld >

Powered by: vBulletin Version 2.2.5
Copyright ©2000, 2001, Jelsoft Enterprises Limited.