www.digitalmars.com         C & C++   DMDScript  

digitalmars.D - [ANN] Sofud 0.2

reply Sebastian Beschke <s.beschke gmx.de> writes:
Announcing Sofud 0.2 (no there's never been version 0.1)

http://sofu.sourceforge.net/

Sofud is a parser library for the file format Sofu (don't confuse the 
names ;) ).

Sofu has been created (by me) to allow reading and storing data, mainly 
for game type applications, in a simple and painless way. I believe for 
games it's a viable, more simple alternative to XML.

To find out what Sofu is all about, you can find a tutorial at the above 
web page.

Please tell me what you think :)

-Sebastian
Dec 10 2004
next sibling parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Sebastian Beschke wrote:

 Sofu has been created (by me) to allow reading and storing data, mainly 
 for game type applications, in a simple and painless way. I believe for 
 games it's a viable, more simple alternative to XML.

Looks a whole lot like the old .plist format (now converted to XML) ? It was used by NeXTSTEP to store various settings, "property list". --anders
Dec 10 2004
parent reply Sebastian Beschke <s.beschke gmx.de> writes:
Anders F Björklund wrote:
 Looks a whole lot like the old .plist format (now converted to XML) ?
 It was used by NeXTSTEP to store various settings, "property list".

Dunno, I've never heard of it. Could you post an example? Maybe I could learn from it :)
 
 --anders

-Sebastian
Dec 10 2004
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Sebastian Beschke wrote:

 Looks a whole lot like the old .plist format (now converted to XML) ?
 It was used by NeXTSTEP to store various settings, "property list".

Dunno, I've never heard of it. Could you post an example? Maybe I could learn from it :)

Googled up some example of the old-style .plist file format: http://www.stone.com/The_Cocoa_Files/Legacy_File_Formats.html --anders
Dec 10 2004
prev sibling next sibling parent reply David L. Davis <SpottedTiger yahoo.com> writes:
In article <cpcrnq$28bn$1 digitaldaemon.com>, Sebastian Beschke says...
Announcing Sofud 0.2 (no there's never been version 0.1)

http://sofu.sourceforge.net/

Sofud is a parser library for the file format Sofu (don't confuse the 
names ;) ).

Sofu has been created (by me) to allow reading and storing data, mainly 
for game type applications, in a simple and painless way. I believe for 
games it's a viable, more simple alternative to XML.

To find out what Sofu is all about, you can find a tutorial at the above 
web page.

Please tell me what you think :)

-Sebastian

Sebastian: I've downloaded Sofud-0.2.zip, but when I try to open it in WinZip v9.0 I get a invalid zip format error. And even with IZArc it complains as well...is this file a Linux only file? Shouldn't also work for MS Windows (XP)? David L. P.S. I downloaded it three times (hey it's only 12Kb), each time from a different server location, but the same result each time. ------------------------------------------------------------------- "Dare to reach for the Stars...Dare to Dream, Build, and Achieve!"
Dec 10 2004
parent Sebastian Beschke <s.beschke gmx.de> writes:
David L. Davis wrote:
 
 Sebastian: I've downloaded Sofud-0.2.zip, but when I try to open it in WinZip
 v9.0 I get a invalid zip format error. And even with IZArc it complains as
 well...is this file a Linux only file? Shouldn't also work for MS Windows (XP)?
 

Actually, it's been created under Windows XP ;) It seems it wasn't uploaded correctly, but it should work now. I apologize ^^ Also sorry for the late reply - I went on vacation right after the release ;)
 David L.
 

Dec 16 2004
prev sibling next sibling parent Georg Wrede <Georg_member pathlink.com> writes:
In article <cpcrnq$28bn$1 digitaldaemon.com>, Sebastian Beschke says...
Announcing Sofud 0.2 (no there's never been version 0.1)

http://sofu.sourceforge.net/

Very nice! You might want to check out (for ideas, or comparison) www.yaml.org georg
Dec 11 2004
prev sibling parent reply Chris Sauls <Chris_member pathlink.com> writes:
Message = {
Reply = {
Quote = "<cpcrnq$28bn$1 digitaldaemon.com> Sebastian Beschke"
Text  = "Announcing Sofud 0.2 (no there's never been version 0.1)"
}

Content = (
"Be forewarned, this /will/ get some use.  :)"
)

Signature = (
"-- Chris Sauls"
"-- Invironz"
)
}
Dec 11 2004
parent reply Sebastian Beschke <s.beschke gmx.de> writes:
Chris Sauls wrote:
 Message = {
 Reply = {
 Quote = "<cpcrnq$28bn$1 digitaldaemon.com> Sebastian Beschke"
 Text  = "Announcing Sofud 0.2 (no there's never been version 0.1)"
 }
 
 Content = (
 "Be forewarned, this /will/ get some use.  :)"
 )
 
 Signature = (
 "-- Chris Sauls"
 "-- Invironz"
 )
 }
 
 

If you find any bugs, please be sure to report them to me. It's not *that* excessively tested (which will change this weekend as I'm actually using it to make a game :) ) -Sebastian
Dec 16 2004
parent reply =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Sebastian Beschke wrote:

  If you find any bugs, please be sure to report them to me. It's not
 *that* excessively tested (which will change this weekend as I'm 
 actually using it to make a game :) )

Can't test it with GDC since it uses EndianStream from DMD 0.107, and GDC is currently only up to features from DMD version 0.102 :( You might want to list DMD 0.107 and Scons as Sofud requirements ? But the zip file works this time :-) (with Windows/Linux binaries) --anders
Dec 16 2004
next sibling parent reply Hiroshi Sakurai <Hiroshi_member pathlink.com> writes:
In article <cpsn54$304s$1 digitaldaemon.com>,
=?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
Sebastian Beschke wrote:

  If you find any bugs, please be sure to report them to me. It's not
 *that* excessively tested (which will change this weekend as I'm 
 actually using it to make a game :) )

Can't test it with GDC since it uses EndianStream from DMD 0.107, and GDC is currently only up to features from DMD version 0.102 :( You might want to list DMD 0.107 and Scons as Sofud requirements ? But the zip file works this time :-) (with Windows/Linux binaries) --anders

Oh! It's great language! When I view the Groovy code, I think sameone C like list language idea. I love C like language. I hope D preprocessor is D source code -> DPP -> Sofud -> D macro program -> Sofud -> DPP -> D source code. Reference EPP (The extensible Java pre-processor EPP) http://staff.aist.go.jp/y-ichisugi/epp/index.html Java source code -> EPP -> S expression(lisp) -> Java macro program -> S expression -> EPP -> Java source code. I think S expression is difficult or avoided to normal programer. but Sofud is good and lovely. and I hope, Sofud like language can defined D language. SGML <-> HTML <-> DTD XML <-> XHTML <-> XMLScheme, Relax NG ? <-> D <-> ? Sofud <-> D-- <-> ? Thanks, Sakurai.
Dec 16 2004
parent reply Sebastian Beschke <s.beschke gmx.de> writes:
Hi,

Hiroshi Sakurai wrote:
 In article <cpsn54$304s$1 digitaldaemon.com>,
 =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
 
 Oh! It's great language!
 When I view the Groovy code,
 I think sameone C like list language idea.
 I love C like language.
 I hope D preprocessor is 
 
 D source code -> DPP -> Sofud -> D macro program -> Sofud ->
 DPP -> D source code.

Hi, I'm sorry, but I have no idea what exactly you're saying. ^^ I do understand a little Japanese, so if you reposted in Japanese, perhaps I could work my way through it with a dictionary. However, I fear you misunderstand the use and purpose of Sofu. It doesn't have anything to do with a Preprocessor, it is merely a data format for configuration files, like INI or XML. Of course, if you really wanted to, you could use it to generate D code, and it'd be pretty interesting to see the results. But that's not what I intended during development :) -Sebastian
Dec 16 2004
parent Hiroshi Sakurai <Hiroshi_member pathlink.com> writes:
In article <cpsupi$7l3$1 digitaldaemon.com>, Sebastian Beschke says...
Hi,

Hiroshi Sakurai wrote:
 In article <cpsn54$304s$1 digitaldaemon.com>,
 =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= says...
 
 Oh! It's great language!
 When I view the Groovy code,
 I think sameone C like list language idea.
 I love C like language.
 I hope D preprocessor is 
 
 D source code -> DPP -> Sofud -> D macro program -> Sofud ->
 DPP -> D source code.

Hi, I'm sorry, but I have no idea what exactly you're saying. ^^ I do understand a little Japanese, so if you reposted in Japanese, perhaps I could work my way through it with a dictionary. However, I fear you misunderstand the use and purpose of Sofu. It doesn't have anything to do with a Preprocessor, it is merely a data format for configuration files, like INI or XML. Of course, if you really wanted to, you could use it to generate D code, and it'd be pretty interesting to see the results. But that's not what I intended during development :) -Sebastian

I understand Sofu like INI or XML or YAML or S Expression. Sofu is not Preprocessor. Preprocessor idea is my Sofu used application idea. Ž„‚ÍSofu‚ÍINIƒtƒ ƒCƒ‹‚âXMLAYAML‚ÉŽ—‚½ƒtƒH[ƒ}ƒbƒg‚¾‚È‚Æ—‰ð‚µ‚Ä‚¢‚Ü‚·B ƒvƒŠƒvƒƒZƒbƒT‚̃AƒCƒfƒBƒA‚ÍŽ„‚ªl‚¦‚½Sofu‚̉ž—p—á‚Å‚·B CŒ¾Œê‚ÉŽ—‚Ä‚¢‚é‚Ì‚Å—Ç‚¢‚È‚ÆŽv‚¢‚Ü‚·B Sofu‚ÉŽ—‚½Œ¾Œê‚ŁA‚æ‚èƒvƒŠƒvƒƒZƒbƒT‚ÉŒü‚¢‚½Œ¾Œê‚ª‚ ‚Á‚½‚ç‚æ‚¢‚Ȃƍl‚¦‚Ä‚¢‚Ü‚·B ‚»‚ÌŒ¾Œê‚ðl‚¦‚é‚É‚ ‚½‚Á‚āASofu‚Í”ñí‚ÉŽQl‚ɂȂ錾Œê‚¾‚ÆŽv‚¢‚Ü‚·B Œ¾Œê‚Ì‹ ”\‚ðŠg’£‚µ‚½‚¢‚Æ‚¢‚¤—v‹‚͐l‚É‚æ‚肳‚Ü‚´‚Ü‚Å‚·B LISP‚ł̓}ƒNƒ‚ðŽg‚Á‚ÄŒ¾Œê‚ÌŠg’£‚ðs‚¤‚±‚Æ‚ªo—ˆ‚Ü‚·B “¯‚¶‚悤‚È‚±‚Æ‚ªCŒ¾Œê‚ÉŽ—‚½Œ¾Œê‚ōs‚¦‚é‚Æ‚µ‚½‚çA‘f°‚炵‚¢‚ƍl‚¦‚Ü‚·B DŒ¾Œê‚ōs‚¦‚é‚Æ‚µ‚½‚çA‘f°‚炵‚¢‚ƍl‚¦‚Ü‚·B Java‚Å‚ÍEPP‚Æ‚¢‚¤ƒvƒŠƒvƒƒZƒbƒT‚ª‚ ‚è‚Ü‚·B Java‚̃\[ƒXƒR[ƒh‚ðSŽ®‚̃cƒŠ[‚É’u‚«Š·‚¦A‘€ì‚µA Java‚̃\[ƒXƒR[ƒh‚É–ß‚·‚Æ‚¢‚¤‚à‚Ì‚Å‚·B Ž„‚ÍEPP‚ª‘f°‚炵‚¢ƒvƒŠƒvƒƒZƒbƒT‚¾‚ÆŽv‚¢‚Ü‚·B ‚µ‚©‚µAEPP‚ÌŠJ”­‚Í’†’f‚³‚ê‚Ü‚µ‚½B SŽ®‚͈ê”ʂ̃vƒƒOƒ‰ƒ}‚ɂ͓‚­AŒh‰“‚³‚ꂽ‚Ì‚Å‚Í‚È‚¢‚©‚ÆŽv‚¢‚Ü‚·B ‚»‚±‚ŁASofu‚̂悤‚ÈŒ¾Œê‚𑀍삷‚é‚Ì‚Å‚ ‚ê‚Ηǂ¢‚Ì‚Å‚Í‚È‚¢‚©‚ÆŽv‚¢‚Ü‚·B XML‚̐¬Œ÷‚́AXML‚Ì“®ìŽ©‘͉̂½‚à’è‹`‚µ‚È‚©‚Á‚½‚±‚Æ‚É‚ ‚é‚ÆŽv‚¢‚Ü‚·B “¯‚¶‚悤‚ɁA‰½‚à“®ì‚ð’è‹`‚µ‚È‚¢A CŒ¾Œêƒ‰ƒCƒN‚ÈŒ¾Œê‚ðì‚é‚Æ—Ç‚¢‚Ì‚Å‚Í‚È‚¢‚©‚ÆŽv‚¢‚Ü‚·B XML‚Å‚Í“®ì‚͉½‚àŒˆ‚Ü‚Á‚Ä‚¢‚Ü‚¹‚ñ‚ªAƒp[ƒT‚Í‘¶Ý‚µ‚Ü‚·B “¯‚¶‚悤‚ÉCŒ¾Œê‚ÉŽ—‚½Œ¾Œê‚ŁAƒp[ƒT‚ðì‚é‚Æ‚æ‚¢‚Ì‚Å‚Í‚È‚¢‚©B ‚»‚µ‚āAXMLScheme‚âRelaxNG,Relaxer‚̂悤‚ȁA BNF‚É‘ã‚í‚é’è‹`ƒtƒH[ƒ}ƒbƒg‚àì‚é‚Æ‚æ‚¢‚Ì‚Å‚Í‚È‚¢‚©B ‚»‚̂悤‚ÈŒ¾Œê‚̊‹«‚ÌŒ³‚ŁADŒ¾Œê‚ðÄ’è‹`‚Å‚«‚é‚Ì‚Å‚Í‚È‚¢‚©B ‚»‚̂悤‚Ȋ‹«‚ª’ñ‹Ÿ‚Å‚«‚½‚ç‚æ‚¢‚È‚ÆŒ¾‚¢‚½‚©‚Á‚½‚킯‚Å‚·B “ú–{‚ł́AYAMP‚Æ‚¢‚¤Œ¾Œê‚ðl‚¦‚½l‚ª‚¢‚Ü‚·B YAML‚àƒf[ƒ^‹LqŒ¾Œê‚Å‚·‚ªA‚»‚ê‚ðLISP‚̂悤‚É ƒvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚Æ‚µ‚ÄŽg‚Á‚½‚ç‚Ç‚¤‚©‚Æ‚¢‚¤l‚¦‚Å‚·B “¯‚¶‚悤‚ɁASofu‚ðŽg‚Á‚ăvƒƒOƒ‰ƒ~ƒ“ƒOŒ¾Œê‚ðì‚邱‚Æ‚ªo—ˆ‚é‚Å‚µ‚傤B } SGML<->HTML<->DTD XML<->XHTML,XSLT...<->XMLScheme,Relaxer,RelaxNG SŽ®<->Lisp<->BNF‚µ‚©‚È‚¢‚Ì‚©‚ȁH‚í‚©‚ç‚È‚¢B YAML<->YAMP<->? Sofu<->C?<->D? A?<->DŒ¾Œê<->B? ˆÓ–¡‚Ì–³‚¢Œ¾Œê<->ˆÓ–¡‚ðŽ‚Á‚½Œ¾Œê<->ˆÓ–¡‚ð’è‹`‚·‚錾Œê ?‚Í•ª‚©‚ç‚È‚¢‚ªA‚ ‚Á‚Ä‚à‚¨‚©‚µ‚­‚È‚¢‚à‚́B }‚Å‚¢‚¤A?‚âB?AC?AD?‚ª‚ ‚Á‚½‚ç‚¢‚¢‚È‚ÆŽv‚¤‚Æ‚¢‚¤‚±‚Æ‚Å‚·B ‚»‚ê‚ðADŒ¾Œê‚ðì‚Á‚½‚èAV‚µ‚¢ƒAƒCƒfƒBƒA‚ðl‚¦‚邱‚Æ‚ªo—ˆ‚él‚½‚¿‚ŁA l‚¦‚Ä‚à‚ç‚¢‚½‚¢‚ƁAŽv‚¤‚킯‚Å‚·B DŒ¾Œê‚̃tƒH[ƒ‰ƒ€‚ōl‚¦‚Ä‚à‚ç‚¢‚½‚¢‚ÆŽv‚¤‚킯‚Å‚·B ƒEƒHƒ‹ƒ^[‚³‚ñ‚ɍl‚¦‚Ä‚à‚ç‚¢‚½‚¢‚킯‚Å‚·B A?AB?‚ðì‚éB A?AB?‚ðŒ³‚ÉDŒ¾Œê‚ðÄ’è‹`‚·‚éB B?‚ðŽg‚Á‚Ä‚¢‚ë‚¢‚ë‚ÈDŒ¾Œê‚Ì‹ ”\’ljÁ‚ðì‚éƒu[ƒ€‚ðŒÄ‚ԁB DŒ¾Œê‚ª•‹y‚µ‚Ä‚¤‚ꂵ‚¢B ‚Æ‚¢‚¤‚±‚Æ‚Å‚·B Thanks, Sakurai.
Dec 16 2004
prev sibling parent reply Sebastian Beschke <s.beschke gmx.de> writes:
Anders F Björklund wrote:
 Sebastian Beschke wrote:
 
 Can't test it with GDC since it uses EndianStream from DMD 0.107,
 and GDC is currently only up to features from DMD version 0.102 :(
 

Sorry about that. I've only used dmd.
 You might want to list DMD 0.107 and Scons as Sofud requirements ?
 But the zip file works this time :-) (with Windows/Linux binaries)

Well, somewhere I stated that I used DMD 0.109 and said it probably wouldn't work with any other compiler ^^ But I don't really want to re-implement EndianStream for GDC users, I think the best thing would be to wait until the next GDC update. Alternatively, you might try c/ping the class from DMD phobos. scons is only required for building the library, and that's stated in the readme. It probably should be on the web page too.
 
 --anders

Thanks for the feedback :) -Sebastian
Dec 16 2004
parent =?ISO-8859-1?Q?Anders_F_Bj=F6rklund?= <afb algonet.se> writes:
Sebastian Beschke wrote:

 You might want to list DMD 0.107 and Scons as Sofud requirements ?

Well, somewhere I stated that I used DMD 0.109 and said it probably wouldn't work with any other compiler ^^

It didn't. :-)
 But I don't really want to re-implement EndianStream for GDC users, I 
 think the best thing would be to wait until the next GDC update. 

That's what I meant. (no feedback for you until then)
 scons is only required for building the library, and that's stated in 
 the readme. It probably should be on the web page too.

No problem, it was easy enough to install. ("rpm --rebuild") http://prdownloads.sourceforge.net/scons/scons-0.96.1-1.src.rpm --anders
Dec 16 2004