Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.c > #90432

Re: High level C

From jacobnavia <jacob@jacob.remcomp.fr>
Newsgroups comp.lang.c
Subject Re: High level C
Date 2016-07-16 09:17 +0200
Organization A noiseless patient Spider
Message-ID <nmcn1e$kmt$1@dont-email.me> (permalink)
References <nmbl0s$t8n$1@dont-email.me> <nmbu57$rf4$1@dont-email.me>

Show all headers | View raw


Le 16/07/2016 à 02:12, BartC a écrit :
> On 15/07/2016 22:36, jacobnavia wrote:
>
>> Well, the library is splitted into several dozens files. I decided to
>> write a C program then, that would take all the files and produce a
>> single file containing all others.
>>
>>
>> That gives:
>> 166 int main(void)
>> 167 {
>> 168     int res;
>> 169     List *fileList = iList.Create(sizeof(SourceFile));
>> 170     GlobalIncludes = iDictionary.Create(sizeof(void *),500);
>> 171
>> 172     res = BuildFileList(fileList);
>> 173     if (res) return res;
>> 174     res = ProcessFiles(fileList);
>> 175     if (res) return res;
>> 176     res = Output(fileList);
>> 177     return res;
>> 178 }
>>
>> I build a list of files, then  process them and output the result.
>> Nothing earth shattering here. But it was nice to be able to express it
>> like that.
>
>
> It sounds like you're taking any list of C sources that form a project,
> and processing them by simply putting all the includes (either one of
> each #include, or actually inserting the contents of the include file)
> at the top.
>
Yes. That's exactly what I do.

> But would that work for any project?
>

Probably not. What happens if some file does

#define FOO 759654

You have to add

#undef FOO

to erase all those defines after including the body of the file.

Happily, Tom StDenis has written a very clean library, and that just 
doesn't happen. How nice!


> I'd imagine there would be dependencies where the order of the includes
> is important. (Or maybe you build a dependency tree where includes can
> be sorted, but it is also possible that header files, with guards,
> include each other.)
>

Yes.

> Another problem, if you then simply concatenate the contents of the rest
> of each source into the single source file, is that local variables,
> typedefs, structs, enums, defines and functions of a module, can clash
> with identically name entities in another.
>

There are no global variables in the library in the sense you are using 
them here. They make the library not reentrant.

Back to comp.lang.c | Previous | Next — Previous in thread | Next in thread | Find similar | Unroll thread


Thread

High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-15 23:36 +0200
  Re: High level C supercat@casperkitty.com - 2016-07-15 15:17 -0700
    Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 09:09 +0200
      Re: High level C supercat@casperkitty.com - 2016-07-17 20:02 -0700
  Re: High level C Keith Thompson <kst-u@mib.org> - 2016-07-15 15:17 -0700
    Re: High level C fir <profesor.fir@gmail.com> - 2016-07-31 23:55 -0700
  Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-15 23:27 +0100
    Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 09:13 +0200
      Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-16 02:07 -0700
        Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 11:07 +0100
          Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-16 03:29 -0700
            Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 13:40 +0100
            Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-17 11:57 +0530
          Re: High level C BartC <bc@freeuk.com> - 2016-07-16 11:30 +0100
            Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-16 03:43 -0700
              Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 13:53 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-16 07:49 -0700
                Re: High level C Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-16 17:08 +0200
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-16 09:09 -0700
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 16:26 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 18:05 +0200
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 20:15 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 23:44 +0200
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:39 +0000
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-23 22:58 +0200
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-07-27 14:52 +0000
                Re: High level C Richard Heathfield <rjh@cpax.org.uk> - 2016-07-27 16:29 +0100
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:38 +0000
              Re: High level C BartC <bc@freeuk.com> - 2016-07-16 14:17 +0100
            Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 13:46 +0100
            Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-17 12:05 +0530
              Re: High level C BartC <bc@freeuk.com> - 2016-07-17 11:03 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-17 03:39 -0700
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-17 18:20 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-17 14:00 +0100
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-17 23:13 +0530
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-17 20:14 +0200
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-17 20:14 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-17 20:45 +0100
                Re: High level C Gareth Owen <gwowen@gmail.com> - 2016-07-17 21:00 +0100
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-18 09:48 +0530
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-18 00:55 -0700
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-18 22:25 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-18 11:40 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-18 05:05 -0700
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-18 22:59 +0530
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-18 22:50 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-18 19:07 +0100
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-19 11:53 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 11:15 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 14:00 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 15:01 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 15:26 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 15:57 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 17:13 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 18:14 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 19:20 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 19:46 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-20 02:44 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-20 10:59 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-20 03:07 -0700
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-21 01:44 +0100
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-21 18:58 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-21 17:20 +0100
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-21 20:52 +0100
                Re: High level C BartC <bc@freeuk.com> - 2016-07-21 21:14 +0100
                Re: High level C Keith Thompson <kst-u@mib.org> - 2016-07-21 13:23 -0700
                Re: High level C BartC <bc@freeuk.com> - 2016-07-21 21:50 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-22 12:52 +0200
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-22 04:03 -0700
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-22 23:56 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-22 20:09 +0100
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-22 23:49 +0530
                Re: High level C BartC <bc@freeuk.com> - 2016-07-22 20:37 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-19 19:16 +0200
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 19:17 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-19 21:07 +0200
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-20 02:36 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 07:27 -0700
                Re: High level C BartC <bc@freeuk.com> - 2016-07-19 16:27 +0100
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-07-19 08:43 -0700
                Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-19 19:14 +0100
                Re: High level C Jean-Marc Bourguet <jm@bourguet.org> - 2016-07-18 10:08 +0200
                Re: High level C Udyant Wig <udyant.wig@gmail.com> - 2016-07-18 23:04 +0530
      Re: High level C Ben Bacarisse <ben.usenet@bsb.me.uk> - 2016-07-16 10:18 +0100
    Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-07-23 19:26 +0000
      Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-25 09:21 -0700
        Re: High level C luser droog <luser.droog@gmail.com> - 2016-07-25 10:19 -0700
          Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-28 10:31 -0700
            Re: High level C luser droog <luser.droog@gmail.com> - 2016-07-28 21:13 -0700
              Re: High level C supercat@casperkitty.com - 2016-07-29 09:05 -0700
                Re: High level C Keith Thompson <kst-u@mib.org> - 2016-07-29 09:30 -0700
                Re: High level C supercat@casperkitty.com - 2016-07-29 10:08 -0700
                Re: High level C Ike Naar <ike@iceland.freeshell.org> - 2016-07-29 17:57 +0000
                Re: High level C supercat@casperkitty.com - 2016-07-29 11:50 -0700
              Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 07:16 -0700
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-07-31 14:34 +0000
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 14:55 -0700
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-01 03:10 -0700
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-01 07:40 -0700
                Re: High level C Gareth Owen <gwowen@gmail.com> - 2016-08-01 19:43 +0100
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-01 10:21 -0500
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-08-03 13:14 +0000
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 08:40 -0700
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-05 09:28 -0700
                Re: High level C fir <profesor.fir@gmail.com> - 2016-08-05 09:55 -0700
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 15:51 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-05 18:43 +0200
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 15:43 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 00:52 +0200
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-08-10 12:42 +0000
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-11 12:24 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-07-31 16:42 +0200
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 12:59 -0700
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-07-31 17:12 -0500
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 17:12 -0700
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-01 00:54 -0500
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-01 08:08 -0700
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-01 12:58 -0500
                Re: High level C Malcolm McLean <malcolm.mclean5@btinternet.com> - 2016-08-01 12:25 -0700
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-03 08:44 -0700
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-03 11:56 -0500
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-03 19:29 +0200
                Re: High level C "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-03 13:45 -0400
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-03 13:23 -0500
                Re: High level C BartC <bc@freeuk.com> - 2016-08-03 19:27 +0100
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-03 21:04 +0200
                Re: High level C Gareth Owen <gwowen@gmail.com> - 2016-08-03 20:08 +0100
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-03 16:09 -0500
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-03 16:06 -0500
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-08-03 23:36 +0200
                Re: High level C Les Cargill <lcargill99@comcast.com> - 2016-08-03 19:44 -0500
                Re: High level C supercat@casperkitty.com - 2016-08-03 15:03 -0700
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-04 19:17 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-05 05:48 +0200
                Re: High level C Keith Thompson <kst-u@mib.org> - 2016-08-05 08:24 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-05 18:30 +0200
                Re: High level C Keith Thompson <kst-u@mib.org> - 2016-08-05 10:34 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-05 20:50 +0200
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-05 15:39 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 00:50 +0200
                Re: High level C Keith Thompson <kst-u@mib.org> - 2016-08-05 17:08 -0700
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 02:23 +0200
                Re: High level C raltbos@xs4all.nl (Richard Bos) - 2016-08-06 10:03 +0000
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 12:13 +0200
                Re: High level C "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-06 11:10 -0400
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 17:40 +0200
                Re: High level C "James R. Kuyper" <jameskuyper@verizon.net> - 2016-08-06 11:56 -0400
                Re: High level C Melzzzzz <mel@zzzzz.com> - 2016-08-06 17:51 +0200
                Re: High level C supercat@casperkitty.com - 2016-08-08 09:12 -0700
                Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-31 22:07 +0200
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-07-31 15:05 -0700
                Re: High level C Ian Collins <ian-news@hotmail.com> - 2016-08-03 11:22 +1200
                Re: High level C Tim Rentsch <txr@alumni.caltech.edu> - 2016-08-03 08:50 -0700
  Re: High level C BartC <bc@freeuk.com> - 2016-07-16 01:12 +0100
    Re: High level C Jerry Stuckle <jstucklex@attglobal.net> - 2016-07-15 20:16 -0400
    Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 09:17 +0200
  Re: High level C Siri Cruise <chine.bleu@yahoo.com> - 2016-07-16 08:20 -0700
    Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-16 17:24 +0200
      Re: High level C Siri Cruise <chine.bleu@yahoo.com> - 2016-07-16 09:24 -0700
  Re: High level C carlglassberg@gmail.com - 2016-07-17 14:15 -0700
  Re: High level C carlglassberg@gmail.com - 2016-07-17 14:22 -0700
    Re: High level C jacobnavia <jacob@jacob.remcomp.fr> - 2016-07-17 23:58 +0200
  Re: High level C fir <profesor.fir@gmail.com> - 2016-08-02 13:20 -0700

csiph-web