D - WildCard expansion available
- larry cowan (3/3) Mar 18 2004 I have added a (completed) project to Wiki4d - wildcard filename expansi...
- Helmut Leitner (11/14) Mar 18 2004
- larrycowan (2/16) Mar 18 2004
- Matthew (24/37) Mar 18 2004 I hadn't realised anyone was working on this.
- larry cowan (6/48) Mar 18 2004 Yes. I was thinking of doing a C or C++ version for the compiler. Walt...
- Matthew (8/69) Mar 19 2004 was
- Walter (17/21) Mar 20 2004 was
- Matthew (4/25) Mar 22 2004 Cheers, mate, but I need it in C. I think Larry's going to do it in C, a...
- larry cowan (1/30) Mar 23 2004
- larry cowan (11/11) Mar 23 2004 sorry. the first one got away from me and posted before I had any conten...
- Matthew (11/22) Mar 23 2004 You should write it in C++, and then you can use either
- larry cowan (3/6) Mar 23 2004 Sorry. We were talking about C and C++ both, I thought you said to do it...
- Matthew (13/21) Mar 23 2004 virtually
- larry cowan (5/5) Mar 23 2004 In the D version, I was using listdir, isdir, and isfile. You can't mat...
- larry cowan (9/14) Mar 24 2004 Matthew -
- larry cowan (5/19) Mar 19 2004 Have used it - code is posted as wildcard.zip. It does seem a bit stran...
- Helmut Leitner (6/11) Mar 19 2004 This way better?
I have added a (completed) project to Wiki4d - wildcard filename expansions. How can I deliver the modules? Can I put them on the Wiki? or??? Andy - the versions I sent you a while back are obsolete now.
Mar 18 2004
larry cowan wrote:I have added a (completed) project to Wiki4d - wildcard filename expansions. How can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 18 2004
Thanks. In article <4059EED5.A44E2DD4 wikiservice.at>, Helmut Leitner says...larry cowan wrote:I have added a (completed) project to Wiki4d - wildcard filename expansions. How can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 18 2004
I hadn't realised anyone was working on this. I am wanting some smart and fast wildcard expansion stuff for recls, and was thinking I might do that myself in time for the next column (which, believe it or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++. Larry, once your lib is (correctness and performance) tested in D, would you be interested in porting it to C/C++, or helping me do so. The payoff is that I can wax lyrical about your skills in CUJ, and that your code will be running in the increasing number of languages for which recls is available - Ruby is the one I'm currently doing, but there are lots more to come. :) Even better would be to do a C++/template version which we can incorporate into STLSoft. Interested? Cheers Matthew Wilson Synesis Software; Custom Software Solutions (www.synesis.com.au) Contributing editor, C/C++ Users Journal (www.synesis.com.au/articles.html#columns) STLSoft moderator (http://www.stlsoft.org) "Helmut Leitner" <helmut.leitner wikiservice.at> wrote in message news:4059EED5.A44E2DD4 wikiservice.at...larry cowan wrote:expansions.I have added a (completed) project to Wiki4d - wildcard filenameHow can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 18 2004
Yes. I was thinking of doing a C or C++ version for the compiler. Walter has "expand(arg)" in there but commented out. Could do C version in my sleep, but would rather do it in C++, and a template version I could take some advice on. Why templated? I have only used that where I wanted to float the type - doesn't seem apropos here. In article <c3ctkg$1e3p$1 digitaldaemon.com>, Matthew says...I hadn't realised anyone was working on this. I am wanting some smart and fast wildcard expansion stuff for recls, and was thinking I might do that myself in time for the next column (which, believe it or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++. Larry, once your lib is (correctness and performance) tested in D, would you be interested in porting it to C/C++, or helping me do so. The payoff is that I can wax lyrical about your skills in CUJ, and that your code will be running in the increasing number of languages for which recls is available - Ruby is the one I'm currently doing, but there are lots more to come. :) Even better would be to do a C++/template version which we can incorporate into STLSoft. Interested? Cheers Matthew Wilson Synesis Software; Custom Software Solutions (www.synesis.com.au) Contributing editor, C/C++ Users Journal (www.synesis.com.au/articles.html#columns) STLSoft moderator (http://www.stlsoft.org) "Helmut Leitner" <helmut.leitner wikiservice.at> wrote in message news:4059EED5.A44E2DD4 wikiservice.at...larry cowan wrote:expansions.I have added a (completed) project to Wiki4d - wildcard filenameHow can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 18 2004
Yes. I was thinking of doing a C or C++ version for the compiler. Walter has "expand(arg)" in there but commented out. Could do C version in my sleep, but would rather do it in C++, and a template version I could take some advice on.I'd like to see/help itWhy templated? I have only used that where I wanted to float the type - doesn't seem apropos here.I have a little experience in templates, if you need it.In article <c3ctkg$1e3p$1 digitaldaemon.com>, Matthew says...wasI hadn't realised anyone was working on this. I am wanting some smart and fast wildcard expansion stuff for recls, andbelievethinking I might do that myself in time for the next column (which,youit or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++. Larry, once your lib is (correctness and performance) tested in D, wouldbebe interested in porting it to C/C++, or helping me do so. The payoff is that I can wax lyrical about your skills in CUJ, and that your code willavailable -running in the increasing number of languages for which recls isincorporateRuby is the one I'm currently doing, but there are lots more to come. :) Even better would be to do a C++/template version which we caninto STLSoft. Interested? Cheers Matthew Wilson Synesis Software; Custom Software Solutions (www.synesis.com.au) Contributing editor, C/C++ Users Journal (www.synesis.com.au/articles.html#columns) STLSoft moderator (http://www.stlsoft.org) "Helmut Leitner" <helmut.leitner wikiservice.at> wrote in message news:4059EED5.A44E2DD4 wikiservice.at...larry cowan wrote:expansions.I have added a (completed) project to Wiki4d - wildcard filenameHow can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 19 2004
"Matthew" <matthew stlsoft.org> wrote in message news:c3ctkg$1e3p$1 digitaldaemon.com...I am wanting some smart and fast wildcard expansion stuff for recls, andwasthinking I might do that myself in time for the next column (which,believeit or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++.Here's one way to do wildcard expansion using existing phobos modules: void findCppFiles(char[] fullpath, char[] directory) { char[][] dirlist = std.file.listdir(fullpath); foreach (char[] fname; dirlist) { if (std.file.isfile(std.path.join(fullpath, fname)) && std.path.fnmatch(fname, "*.cpp")) { printf("file: '%.*s'\n", fname); } } }
Mar 20 2004
"Walter" <walter digitalmars.com> wrote in message news:c3jdgm$93l$1 digitaldaemon.com..."Matthew" <matthew stlsoft.org> wrote in message news:c3ctkg$1e3p$1 digitaldaemon.com...Cheers, mate, but I need it in C. I think Larry's going to do it in C, and then I can potentially include this in STLSoft for C++ folks.I am wanting some smart and fast wildcard expansion stuff for recls, andwasthinking I might do that myself in time for the next column (which,believeit or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++.Here's one way to do wildcard expansion using existing phobos modules: void findCppFiles(char[] fullpath, char[] directory) { char[][] dirlist = std.file.listdir(fullpath); foreach (char[] fname; dirlist) { if (std.file.isfile(std.path.join(fullpath, fname)) && std.path.fnmatch(fname, "*.cpp")) { printf("file: '%.*s'\n", fname); } } }
Mar 22 2004
In article <c3ntb5$1hhg$1 digitaldaemon.com>, Matthew says..."Walter" <walter digitalmars.com> wrote in message news:c3jdgm$93l$1 digitaldaemon.com..."Matthew" <matthew stlsoft.org> wrote in message news:c3ctkg$1e3p$1 digitaldaemon.com...Cheers, mate, but I need it in C. I think Larry's going to do it in C, and then I can potentially include this in STLSoft for C++ folks.I am wanting some smart and fast wildcard expansion stuff for recls, andwasthinking I might do that myself in time for the next column (which,believeit or not, is the September 2004 one; such is the world of in-print publishing.). Unfortunately, it has to be in C or C++.Here's one way to do wildcard expansion using existing phobos modules: void findCppFiles(char[] fullpath, char[] directory) { char[][] dirlist = std.file.listdir(fullpath); foreach (char[] fname; dirlist) { if (std.file.isfile(std.path.join(fullpath, fname)) && std.path.fnmatch(fname, "*.cpp")) { printf("file: '%.*s'\n", fname); } } }
Mar 23 2004
sorry. the first one got away from me and posted before I had any content. Matthew - (or anybody else) What do you know of directory access in C for windoughs? I have been using dirent.h in unix, but I don't find anythng in my VC6. Is there something you know of that is portable? I will look in djgpp dirent source, but that's the only lead I know of at the moment. Other than that, the wildcard stuff ported from D easily with only the debug stuff growing larger - I'll have to go back and use more D specific stuff on the original, see if I can cut it smaller and better. Since it's not really needed in unix, I'm not putting much effort into that side. -larry
Mar 23 2004
You should write it in C++, and then you can use either unixstl::glob_sequence or winstl::findfile_sequence, which present virtually identical interfaces, and hide a great deal of crap away from you. "larry cowan" <larry_member pathlink.com> wrote in message news:c3pco5$us0$1 digitaldaemon.com...sorry. the first one got away from me and posted before I had any content. Matthew - (or anybody else) What do you know of directory access in C for windoughs? I have beenusingdirent.h in unix, but I don't find anythng in my VC6. Is there somethingyouknow of that is portable? I will look in djgpp dirent source, but that'stheonly lead I know of at the moment. Other than that, the wildcard stuff ported from D easily with only thedebugstuff growing larger - I'll have to go back and use more D specific stuffon theoriginal, see if I can cut it smaller and better. Since it's not reallyneededin unix, I'm not putting much effort into that side. -larry
Mar 23 2004
In article <c3pd93$vpj$2 digitaldaemon.com>, Matthew says...You should write it in C++, and then you can use either unixstl::glob_sequence or winstl::findfile_sequence, which present virtually identical interfaces, and hide a great deal of crap away from you.Sorry. We were talking about C and C++ both, I thought you said to do it in C first. Do you not care about that version?
Mar 23 2004
"larry cowan" <larry_member pathlink.com> wrote in message news:c3phij$17hg$1 digitaldaemon.com...In article <c3pd93$vpj$2 digitaldaemon.com>, Matthew says...virtuallyYou should write it in C++, and then you can use either unixstl::glob_sequence or winstl::findfile_sequence, which presentin Cidentical interfaces, and hide a great deal of crap away from you.Sorry. We were talking about C and C++ both, I thought you said to do itfirst. Do you not care about that version?Sorry, I misunderstood. I assumed your request for file-matching was part of a test program. I am confused as to why it would be part of the wildcard implementation. I think C is better for the wildcard thing, as it's more widely portable and digestible, and likely to be less coupled. Not really sure what to recommend without knowing why you need the file-system searching. For recls I am hoping that the wildcard functions will take over from the native matching, which would therefore always be *.* on Win32 and * on UNIX.
Mar 23 2004
In the D version, I was using listdir, isdir, and isfile. You can't match patterns to available files without getting their names and climbing up the tree (hopefully in some efficient, portable way). One of the things I'm concerned about using raw i/o is that directory formats change some with different file systems. That's a whole bag of worms I'd rather not get into.
Mar 23 2004
In article <c3qgkm$2vdv$1 digitaldaemon.com>, larry cowan says...In the D version, I was using listdir, isdir, and isfile. You can't match patterns to available files without getting their names and climbing up the tree (hopefully in some efficient, portable way). One of the things I'm concerned about using raw i/o is that directory formats change some with different file systems. That's a whole bag of worms I'd rather not get into.Matthew - Are you just interested in the matching state machine? That works in C. I'll try it as externC from the D code where it's used for each level of the input pattern to accept or reject subdirectories (as well as filenames at the last level or alternatively in each accepted directory in the tree). I plan to go back into the D version (a WildMatch class) and try to cut it down a bit. With pointers, the C code is shorter a bit except for the debug going to #ifdef/#endif framing.
Mar 24 2004
Have used it - code is posted as wildcard.zip. It does seem a bit strange to have the link say "Upload:duser/wildcard.zip" though. Is there a way to change the text on the link? or change the "Upload" name to "Code" or something like that. In article <4059EED5.A44E2DD4 wikiservice.at>, Helmut Leitner says...larry cowan wrote:I have added a (completed) project to Wiki4d - wildcard filename expansions. How can I deliver the modules? Can I put them on the Wiki? or???You can upload them at "Preferences / Upload directory" Answer login request with username=duser password=duser Currently there is one common upload directory. We can register individual users with separate directories if there is a need. -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 19 2004
larry cowan wrote:Have used it - code is posted as wildcard.zip. It does seem a bit strange to have the link say "Upload:duser/wildcard.zip" though. Is there a way to change the text on the link? or change the "Upload" name to "Code" or something like that.This way better? <http://www.prowiki.org/wiki4d/wiki.cgi?WildCard> -- Helmut Leitner leitner hls.via.at Graz, Austria www.hls-software.com
Mar 19 2004