Deutsch English Français Italiano |
<vbut32$99cr$2@dont-email.me> View for Bookmarking (what is this?) Look up another Usenet article |
Path: ...!news.nobody.at!eternal-september.org!feeder3.eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail From: Bart <bc@freeuk.com> Newsgroups: comp.lang.c Subject: Re: Command line globber/tokenizer library for C? Date: Thu, 12 Sep 2024 15:16:02 +0100 Organization: A noiseless patient Spider Lines: 69 Message-ID: <vbut32$99cr$2@dont-email.me> References: <lkbjchFebk9U1@mid.individual.net> <vbs1om$3jkch$1@raubtier-asyl.eternal-september.org> <vbsb94$1rsji$1@news.xmission.com> <vbsmlb$3o6n2$1@raubtier-asyl.eternal-september.org> <vbsu1d$3p7pp$1@dont-email.me> <vbtj88$1kpm$1@raubtier-asyl.eternal-september.org> <vbujak$733i$3@dont-email.me> <vbum9i$8h2o$1@dont-email.me> <vbur72$99cr$1@dont-email.me> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Injection-Date: Thu, 12 Sep 2024 16:16:02 +0200 (CEST) Injection-Info: dont-email.me; posting-host="3a3e703b62fd17d38a4df729837e6247"; logging-data="304539"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX18BinChhd63oz0kOB3gA37M" User-Agent: Mozilla Thunderbird Cancel-Lock: sha1:H5oc/gJmV4ZLzr9TEuM24CJSZXc= In-Reply-To: <vbur72$99cr$1@dont-email.me> Content-Language: en-GB Bytes: 3726 On 12/09/2024 14:44, Bart wrote: > On 12/09/2024 13:20, Janis Papanagnou wrote: >> On 12.09.2024 13:29, Bart wrote: >>> On 12/09/2024 03:22, Bonita Montero wrote: >>>> Am 11.09.2024 um 22:19 schrieb Bart: >>>> >>>>> C++ is a simpler language? You're having a laugh! >>>> >>>> The solutions are simpler because you've a fifth of the code as in C. >>>> >>>> In this case, it actually needed somewhat more code, even if the line >>> count was half. >>> >>> But your solutions are always incomprehensible because they strive for >>> the most advanced features possible. >> >> I don't know of the other poster's solutions. But a quick browse seems >> to show nothing incomprehensible or anything that should be difficult >> to understand. (YMMV; especially if you're not familiar with C++ then >> I'm sure the code may look like noise to you.) >> >> In the given context of C and C++ I've always perceived the features >> of C++ to add to comprehensibility of source code where the respective >> C code required writing clumsy code and needed (unnecessary) syntactic >> ballast to implement similar functions and program constructs. >> >> Your undifferentiated complaint sounds more like someone not willing >> to understand the other concepts or have a reluctance or laziness to >> make yourself familiar with them. > > I'm saying it's not necessary to use such advanced features to do some > trivial parsing. > > I've given a C solution below. BTW here are the sources sizes for the tokeniser function. (For C++ I've included the 'using' statement.) Spaces Hard tabs C++ 829 682 characters C 959 634 M 785 548 (My original of the C version) So my C version is actually smaller than the C++ when using hard tabs. In any case, the C++ is not significantly smaller than the C, and certainly not a fifth the size. For proper higher level solutions in different languages, below is one of mine. That function is 107 bytes with hard tabs. (It's not possible to just split the string on white space because of quoted items with embedded spaces.) ------------------------------- func strtoargs(cmdline)= args::=() sreadln(cmdline) while k:=sread("n") do args &:= k od args end println strtoargs(getcommandlinea())