Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]
Groups > comp.lang.c > #156943 > unrolled thread
| Started by | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| First post | 2020-12-05 08:25 -0800 |
| Last post | 2021-01-06 23:07 -0800 |
| Articles | 20 on this page of 399 — 24 participants |
Back to article view | Back to comp.lang.c
Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-05 08:25 -0800
Re: Programming exercise/challenge Sjouke Burry <burrynulnulfour@ppllaanneett.nnll> - 2020-12-05 17:33 +0100
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-06 11:58 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-30 09:40 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-30 18:20 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-31 01:04 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-02 22:05 +0300
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-02 14:48 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-02 19:17 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-02 19:04 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-30 21:44 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-31 02:54 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-03 09:49 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-04 00:15 +0300
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-03 21:57 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-03 23:00 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-04 00:00 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-04 20:04 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-05 07:15 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-07 22:30 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-04 18:42 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-04 21:23 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-04 23:41 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 16:39 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 16:58 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 17:08 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-05 17:11 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 17:24 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-05 17:52 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 18:30 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-05 19:56 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-06 14:51 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-05 17:49 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 18:34 +0000
Re: Programming exercise/challenge Bonita Montero <Bonita.Montero@gmail.com> - 2020-12-05 19:40 +0100
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 18:47 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-05 23:19 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-05 23:56 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-08 02:26 +0000
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-08 16:04 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:39 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-12 23:34 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 19:28 -0800
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-29 10:34 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-29 20:05 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-06 06:03 -0800
Re: Programming exercise/challenge dfs <nospam@dfs.com> - 2020-12-05 13:58 -0500
Re: Programming exercise/challenge Jorgen Grahn <grahn+nntp@snipabacken.se> - 2020-12-05 21:37 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-06 06:13 -0800
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-06 18:00 +0100
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-06 12:31 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-06 06:26 -0800
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-05 23:32 +0100
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-06 17:18 +0100
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-06 17:51 +0100
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-06 22:27 +0000
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-07 09:37 +0100
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-07 07:36 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 22:49 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-06 17:51 +0000
Re: Programming exercise/challenge dfs <nospam@dfs.com> - 2020-12-06 13:03 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-06 23:53 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-06 19:53 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-06 23:38 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-07 00:17 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 02:09 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-07 01:03 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 12:05 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-07 12:25 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 13:33 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-07 14:18 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-07 14:31 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-07 12:58 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:03 -0800
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-07 07:12 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 21:55 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 22:59 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 22:55 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 07:45 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 11:26 -0800
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-12-24 12:24 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-24 17:19 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-27 05:16 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-27 04:17 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-27 08:27 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-29 19:18 -0800
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-07 05:15 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 13:42 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 22:53 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 01:49 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-10 22:35 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 21:17 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-12 21:44 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 19:46 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-13 12:21 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 11:35 -0800
Re: Programming exercise/challenge Rosario19 <Ros@invalid.invalid> - 2020-12-31 00:46 +0100
Re: Programming exercise/challenge Rosario19 <Ros@invalid.invalid> - 2020-12-31 00:52 +0100
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-31 00:34 -0800
Re: Programming exercise/challenge Rosario19 <Ros@invalid.invalid> - 2021-01-01 08:23 +0100
Re: Programming exercise/challenge Rosario19 <Ros@invalid.invalid> - 2021-01-01 10:09 +0100
Re: Programming exercise/challenge Rosario19 <Ros@invalid.invalid> - 2021-01-01 11:38 +0100
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-01 08:24 -0800
Re: Programming exercise/challenge "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2020-12-07 07:03 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-08 02:16 +0300
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 02:39 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:18 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:17 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-08 00:27 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:20 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-07 13:44 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-07 14:01 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-07 22:16 +0000
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-07 15:10 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-08 01:07 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-08 00:34 +0000
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-08 18:17 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-09 00:56 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 02:30 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-09 15:14 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-09 15:44 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-12 23:56 +0300
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-12 13:29 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 00:46 +0300
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-12 13:59 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 14:17 +0300
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-13 12:58 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-13 20:57 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-14 20:44 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-23 11:15 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-23 23:45 +0300
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-23 21:36 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-24 09:11 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 15:30 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-24 23:18 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-24 23:56 -0800
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2020-12-28 12:01 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-29 19:31 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 14:47 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-08 01:59 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:26 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-07 19:02 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-08 01:15 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-07 20:38 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-08 02:19 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-08 11:44 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-08 07:32 -0500
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-08 14:40 +0000
Re: Programming exercise/challenge "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2020-12-08 06:52 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-08 17:31 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-08 20:16 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-08 20:48 +0000
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-08 15:34 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 02:54 +0300
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 12:33 +0300
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 12:43 +0300
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-09 01:52 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 00:28 +0300
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-12 21:40 +0000
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-12 13:48 -0800
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-09 01:46 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:29 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-08 10:45 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-08 17:16 +0000
Re: Programming exercise/challenge "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2020-12-08 06:39 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-07 17:48 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-07 21:03 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 03:02 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 08:02 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-09 16:49 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 13:33 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-09 19:57 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-10 01:45 +0000
Re: Programming exercise/challenge Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-12-10 02:15 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 11:24 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 21:57 -0500
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-10 03:32 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-10 08:19 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 11:04 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-24 19:34 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-08 02:22 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 03:04 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-09 11:59 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 08:11 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 00:02 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-10 15:12 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 10:36 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-10 22:11 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-10 23:34 +0000
Re: Programming exercise/challenge "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> - 2020-12-10 20:11 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 21:06 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 03:03 +0300
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-08 21:21 -0500
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 12:50 +0300
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2020-12-09 08:16 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-08 23:32 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-09 12:21 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-02 19:15 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-07 01:54 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-22 22:36 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-22 23:07 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-22 20:27 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-23 13:05 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 07:45 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-23 16:49 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 11:22 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-23 16:53 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 09:55 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 21:35 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-24 18:17 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 07:57 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 11:28 -0800
Re: Programming exercise/challenge "jfbod...@gmail.com" <jfbode1029@gmail.com> - 2020-12-08 11:30 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-08 20:31 +0000
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-08 22:17 +0100
Re: Programming exercise/challenge jacobnavia <jacob@jacob.remcomp.fr> - 2020-12-08 22:15 +0100
Re: Programming exercise/challenge "jfbod...@gmail.com" <jfbode1029@gmail.com> - 2020-12-08 13:28 -0800
Re: Programming exercise/challenge "jfbod...@gmail.com" <jfbode1029@gmail.com> - 2020-12-09 12:05 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 00:04 +0300
Re: Programming exercise/challenge Lew Pitcher <lew.pitcher@digitalfreehold.ca> - 2020-12-08 21:38 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 03:25 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-09 01:00 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-09 03:09 +0000
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 00:35 +0300
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-12 22:57 +0000
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-12 23:43 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 19:47 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 23:27 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2020-12-13 14:44 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 11:47 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 03:36 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-09 14:51 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 11:35 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-10 02:33 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 00:05 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-10 14:59 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-10 20:32 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-12 23:45 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 19:24 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-13 00:17 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-12 19:23 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2020-12-09 19:31 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 12:01 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-09 12:25 -0800
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-23 01:00 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-24 14:34 -0800
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-26 23:03 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-27 06:29 -0800
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-28 11:52 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-29 00:38 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-28 15:29 +0300
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-28 17:12 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-28 23:54 -0800
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-29 10:26 -0600
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-29 10:37 -0600
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-29 19:59 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2020-12-30 09:17 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2020-12-31 16:54 +0300
Re: Programming exercise/challenge kegs@provalid.com (Kent Dickey) - 2020-12-31 09:16 -0600
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2020-12-31 15:56 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-07 02:41 -0800
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2020-12-31 13:01 -0800
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2020-12-31 14:15 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-01 08:03 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-01 07:42 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-02 21:59 +0300
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-02 14:52 -0500
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-01-02 12:30 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-02 18:17 -0500
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-02 19:22 -0500
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-02 17:48 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-02 22:35 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-02 18:02 -0800
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-03 00:42 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-04 20:12 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-04 07:04 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-04 20:22 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 04:24 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-05 06:22 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 08:55 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-05 20:22 +0300
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-05 20:27 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-05 14:20 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-05 17:23 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 10:18 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-05 18:57 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 12:58 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-05 17:31 -0500
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-05 17:50 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 19:33 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-05 23:02 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 21:00 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-06 07:42 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-06 08:55 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-06 13:29 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-06 14:09 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-06 22:11 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-07 03:10 -0800
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-07 06:40 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-09 06:27 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-10 04:32 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-11 06:58 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-11 14:40 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-15 09:46 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-17 04:13 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-17 14:18 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-17 18:02 +0000
Re: Programming exercise/challenge Richard Damon <Richard@Damon-Family.org> - 2021-01-17 15:12 -0500
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-17 21:39 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-20 10:57 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-21 11:37 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-22 00:30 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-22 09:09 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-22 13:47 -0500
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-22 19:00 +0000
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-22 19:42 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-22 21:16 +0000
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-22 16:41 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 17:46 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 09:51 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-23 18:38 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 04:52 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-23 15:45 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 09:04 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-23 23:10 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 15:39 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-23 15:59 +0000
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-25 11:40 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 09:47 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-23 18:32 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-23 17:26 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-24 01:55 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 08:40 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-23 20:51 -0800
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-24 02:28 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-24 03:49 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-24 15:38 +0300
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-24 14:04 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-25 07:26 -0800
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-25 16:58 +0100
Re: Programming exercise/challenge luser droog <luser.droog@gmail.com> - 2021-01-25 09:14 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 07:32 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-27 16:24 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-28 00:11 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@g{oogle}mail.com> - 2021-01-28 12:25 +0300
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 06:18 -0500
Re: Programming exercise/challenge Anton Shepelev <anton.txt@g{oogle}mail.com> - 2021-01-28 16:54 +0300
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 09:15 -0500
Re: Programming exercise/challenge Anton Shepelev <anton.txt@g{oogle}mail.com> - 2021-01-28 20:07 +0300
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 15:58 -0500
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-29 00:07 +0300
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 16:17 -0500
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-29 00:03 +0300
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-01-28 03:37 -0800
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-28 22:50 +0000
Re: Programming exercise/challenge Anton Shepelev <anton.txt@gmail.com> - 2021-01-30 23:14 +0300
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-30 20:49 +0000
Re: Programming exercise/challenge M Joshua Ryan <luser.droog@gmail.com> - 2021-01-28 00:05 -0600
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-27 11:51 -0800
Re: Programming exercise/challenge Bart <bc@freeuk.com> - 2021-01-25 17:22 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-25 12:21 -0800
Re: Programming exercise/challenge Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2021-01-25 14:27 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-25 19:41 -0800
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-26 04:46 +0000
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-26 06:30 -0800
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-26 15:46 +0100
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-27 03:43 -0800
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-27 13:43 +0100
Re: Programming exercise/challenge Anton Shepelev <anton.txt@g{oogle}mail.com> - 2021-01-27 17:51 +0300
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-27 11:02 -0500
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-27 17:03 +0100
Re: Programming exercise/challenge Malcolm McLean <malcolm.arthur.mclean@gmail.com> - 2021-01-27 07:21 -0800
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-27 17:09 +0100
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-27 17:04 +0000
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-28 10:41 +0100
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-28 18:25 +0000
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-28 10:44 +0100
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-28 21:33 +0000
Re: Programming exercise/challenge David Brown <david.brown@hesbynett.no> - 2021-01-29 10:39 +0100
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-25 23:52 -0500
Re: Programming exercise/challenge Ben Bacarisse <ben.usenet@bsb.me.uk> - 2021-01-26 11:37 +0000
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 08:04 -0800
Re: Programming exercise/challenge Anton Shepelev <anton.txt@g{oogle}mail.com> - 2021-01-27 19:16 +0300
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 23:38 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-27 13:43 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-28 03:16 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-28 06:42 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-28 13:01 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-06 13:35 -0500
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-06 19:27 +0000
Re: Programming exercise/challenge Kaz Kylheku <563-365-8930@kylheku.com> - 2021-01-06 21:25 +0000
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-06 00:37 -0500
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-06 04:34 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-06 11:54 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-05 15:28 -0800
Re: Programming exercise/challenge James Kuyper <jameskuyper@alumni.caltech.edu> - 2021-01-05 13:27 -0500
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-05 15:43 -0800
Re: Programming exercise/challenge Dave Dunfield <dave.dunfield@gmail.com> - 2021-01-05 20:10 -0800
Re: Programming exercise/challenge Tim Rentsch <tr.17687@z991.linuxsc.com> - 2021-01-06 23:07 -0800
Page 8 of 20 — ← Prev page 1 … 6 7 [8] 9 10 … 20 Next page →
| From | Tim Rentsch <tr.17687@z991.linuxsc.com> |
|---|---|
| Date | 2020-12-08 23:26 -0800 |
| Message-ID | <86v9db5tjj.fsf@linuxsc.com> |
| In reply to | #157057 |
Anton Shepelev <anton.txt@gmail.com> writes: > Tim Rentsch: > >> Short problem statement: a C program to remove comments >> from C source input. >> >> Specifics: Remove both /*...*/ and //... style comments. >> Don't worry about trigraphs. Read from stdin, write to >> stdout, and diagnostics (if any) go to stderr. If EOF is >> seen inside a comment, do something sensible but it >> doesn't matter what as long as it's sensible. Use no >> 'goto' statements. Limit function bodies to no more than >> 25 lines. > [...] > By the way, am I the only one to be hard-pressed to keep the > functions within the 25-line limit, for botjh of my > functions have exactly 25 lines. I may have been overly optimistic in choosing 25 lines as the limit here. I think anyone who makes an earnest effort to stay away from longer functions may be said to satisfy the spirit of the stated limit.
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <Richard@Damon-Family.org> |
|---|---|
| Date | 2020-12-07 19:02 -0500 |
| Message-ID | <eozzH.3716$9F.1246@fx47.iad> |
| In reply to | #156943 |
On 12/5/20 11:25 AM, Tim Rentsch wrote: > Prompted by some recent discussion regarding 'goto' statements and > state machines, I would like to propose a programming exercise. > (It is perhaps a bit too large to be called an exercise, but not so > difficult that it deserves the label of challenge. On the other > hand there are some constraints so maybe challenge is apropos. In > any case somewhere in between those two bounds.) > > Short problem statement: a C program to remove comments from C > source input. > > Specifics: Remove both /*...*/ and //... style comments. Don't > worry about trigraphs. Read from stdin, write to stdout, and > diagnostics (if any) go to stderr. If EOF is seen inside a > comment, do something sensible but it doesn't matter what as long > as it's sensible. Use no 'goto' statements. Limit function > bodies to no more than 25 lines. > > Other: feel free to handle corner cases as you see fit, as long > as there is some description of what choice was made. > > Hopefully it will be a fun exercise. It isn't trivial but it > shouldn't take too long either. > A few thoughts on some things that I see that many entries aren't handling: Strings (and character constants): The following are some valid strings: "" "\"" "\\" "\\\"" "foo\ bar" An arbitrary number of \<nl> combinations can occur between the two characters that define the start/end of the comment so the following is a valid block comment /\ \ \ * comment *\ \ \ / Note also, that the spec doesn't say to remove \<nl> combinations that are not in a comment so something like this could be tricky to get right: a = b /\ \ \ \ \ c; Note also (and I think most get this: // This is a multi-line \ single line comment
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2020-12-08 01:15 +0000 |
| Message-ID | <87pn3lksil.fsf@bsb.me.uk> |
| In reply to | #157063 |
Richard Damon <Richard@Damon-Family.org> writes: > A few thoughts on some things that I see that many entries aren't handling: > > Strings (and character constants): > > The following are some valid strings: > "" > > "\"" > > "\\" > > "\\\"" > > "foo\ > bar" and my favourite: "abc\\ "" -- Ben.
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <Richard@Damon-Family.org> |
|---|---|
| Date | 2020-12-07 20:38 -0500 |
| Message-ID | <ZNAzH.7099$vr5.7074@fx48.iad> |
| In reply to | #157067 |
On 12/7/20 8:15 PM, Ben Bacarisse wrote: > Richard Damon <Richard@Damon-Family.org> writes: > >> A few thoughts on some things that I see that many entries aren't handling: >> >> Strings (and character constants): >> >> The following are some valid strings: >> "" >> >> "\"" >> >> "\\" >> >> "\\\"" >> >> "foo\ >> bar" > > and my favourite: > > "abc\\ > "" > Yes. That is a tricky one to get, got to do the phases right.
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2020-12-08 02:19 +0000 |
| Message-ID | <87r1o1jazn.fsf@bsb.me.uk> |
| In reply to | #157069 |
Richard Damon <Richard@Damon-Family.org> writes: > On 12/7/20 8:15 PM, Ben Bacarisse wrote: >> Richard Damon <Richard@Damon-Family.org> writes: >> >>> A few thoughts on some things that I see that many entries aren't handling: >>> >>> Strings (and character constants): >>> >>> The following are some valid strings: >>> "" >>> >>> "\"" >>> >>> "\\" >>> >>> "\\\"" >>> >>> "foo\ >>> bar" >> >> and my favourite: >> >> "abc\\ >> "" > > Yes. That is a tricky one to get, got to do the phases right. Actually the underlying logic of the phases is simple. I think the Haskell code showed that. -- Ben.
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2020-12-08 11:44 +0000 |
| Message-ID | <kGJzH.84918$HFx7.59867@fx43.ams4> |
| In reply to | #157063 |
On 08/12/2020 00:02, Richard Damon wrote: > On 12/5/20 11:25 AM, Tim Rentsch wrote: >> Prompted by some recent discussion regarding 'goto' statements and >> state machines, I would like to propose a programming exercise. >> (It is perhaps a bit too large to be called an exercise, but not so >> difficult that it deserves the label of challenge. On the other >> hand there are some constraints so maybe challenge is apropos. In >> any case somewhere in between those two bounds.) >> >> Short problem statement: a C program to remove comments from C >> source input. >> >> Specifics: Remove both /*...*/ and //... style comments. Don't >> worry about trigraphs. Read from stdin, write to stdout, and >> diagnostics (if any) go to stderr. If EOF is seen inside a >> comment, do something sensible but it doesn't matter what as long >> as it's sensible. Use no 'goto' statements. Limit function >> bodies to no more than 25 lines. >> >> Other: feel free to handle corner cases as you see fit, as long >> as there is some description of what choice was made. >> >> Hopefully it will be a fun exercise. It isn't trivial but it >> shouldn't take too long either. >> > > A few thoughts on some things that I see that many entries aren't handling: > > Strings (and character constants): > > The following are some valid strings: > "" > > "\"" > > "\\" > > "\\\"" > > "foo\ > bar" > > > An arbitrary number of \<nl> combinations can occur between the two > characters that define the start/end of the comment so the following is > a valid block comment > > > /\ > \ > \ > * comment *\ > \ > \ > / I've said before, this is a crazy thing to allow in a language (how do you even specify it in a grammar?). All you need are // and /**/ comments and be done with it, without allowing that whole extra dimension. But today I thought I'd allow it in my C compiler anyway, as a special option. Except that I found I'd already done it! It was available as a long-forgotten built-in flag. So I just made it a regular compiler option (-splicing). It involves copying and translating one string to another, which 99.9999% of the time will be a complete waste of time. The 0.0001% is for threads like these.
[toc] | [prev] | [next] | [standalone]
| From | Richard Damon <Richard@Damon-Family.org> |
|---|---|
| Date | 2020-12-08 07:32 -0500 |
| Message-ID | <ZnKzH.19108$7K1.9169@fx46.iad> |
| In reply to | #157080 |
On 12/8/20 6:44 AM, Bart wrote: > On 08/12/2020 00:02, Richard Damon wrote: >> On 12/5/20 11:25 AM, Tim Rentsch wrote: >>> Prompted by some recent discussion regarding 'goto' statements and >>> state machines, I would like to propose a programming exercise. >>> (It is perhaps a bit too large to be called an exercise, but not so >>> difficult that it deserves the label of challenge. On the other >>> hand there are some constraints so maybe challenge is apropos. In >>> any case somewhere in between those two bounds.) >>> >>> Short problem statement: a C program to remove comments from C >>> source input. >>> >>> Specifics: Remove both /*...*/ and //... style comments. Don't >>> worry about trigraphs. Read from stdin, write to stdout, and >>> diagnostics (if any) go to stderr. If EOF is seen inside a >>> comment, do something sensible but it doesn't matter what as long >>> as it's sensible. Use no 'goto' statements. Limit function >>> bodies to no more than 25 lines. >>> >>> Other: feel free to handle corner cases as you see fit, as long >>> as there is some description of what choice was made. >>> >>> Hopefully it will be a fun exercise. It isn't trivial but it >>> shouldn't take too long either. >>> >> >> A few thoughts on some things that I see that many entries aren't >> handling: >> >> Strings (and character constants): >> >> The following are some valid strings: >> "" >> >> "\"" >> >> "\\" >> >> "\\\"" >> >> "foo\ >> bar" >> >> >> An arbitrary number of \<nl> combinations can occur between the two >> characters that define the start/end of the comment so the following is >> a valid block comment >> >> >> /\ >> \ >> \ >> * comment *\ >> \ >> \ >> / > > I've said before, this is a crazy thing to allow in a language (how do > you even specify it in a grammar?). C does it by specifying a sequence of stages that ar done. In C comments aren't part of the main language 'grammer', but get processed out before we get to the normal grammer phase. Note, that C also really has two fairly distince grammers, one for the preprocessor and seperate one for the main language constructs. > > All you need are // and /**/ comments and be done with it, without > allowing that whole extra dimension. It actually comes out very simply by the way the langague is defined, and it provides a very usefull capability for machine generated code with line length constraints. > > But today I thought I'd allow it in my C compiler anyway, as a special > option. Except that I found I'd already done it! > > It was available as a long-forgotten built-in flag. So I just made it a > regular compiler option (-splicing). It involves copying and translating > one string to another, which 99.9999% of the time will be a complete > waste of time. > > The 0.0001% is for threads like these. >
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2020-12-08 14:40 +0000 |
| Message-ID | <AfMzH.109012$SiR9.48285@fx11.ams4> |
| In reply to | #157082 |
On 08/12/2020 12:32, Richard Damon wrote: > On 12/8/20 6:44 AM, Bart wrote: >> I've said before, this is a crazy thing to allow in a language (how do >> you even specify it in a grammar?). > > C does it by specifying a sequence of stages that ar done. In C comments > aren't part of the main language 'grammer', but get processed out before > we get to the normal grammer phase. > > Note, that C also really has two fairly distince grammers, one for the > preprocessor and seperate one for the main language constructs. >> >> All you need are // and /**/ comments and be done with it, without >> allowing that whole extra dimension. > > It actually comes out very simply by the way the langague is defined, > and it provides a very usefull capability for machine generated code > with line length constraints. Yet, I've only heard of it in connection with C. No other language that I know of does this. How did /they/ (and do they) manage without such a feature?!
[toc] | [prev] | [next] | [standalone]
| From | "james...@alumni.caltech.edu" <jameskuyper@alumni.caltech.edu> |
|---|---|
| Date | 2020-12-08 06:52 -0800 |
| Message-ID | <7d5525af-18e7-4124-9915-da7aa4989e76n@googlegroups.com> |
| In reply to | #157086 |
On Tuesday, December 8, 2020 at 9:40:54 AM UTC-5, Bart wrote: > On 08/12/2020 12:32, Richard Damon wrote: ... > > It actually comes out very simply by the way the langague is defined, > > and it provides a very usefull capability for machine generated code > > with line length constraints. > Yet, I've only heard of it in connection with C. No other language that > I know of does this. How did /they/ (and do they) manage without such a > feature?! I've heard of several languages that provide one mechanism or another for splicing multiple lines together into one logical line, all of them klunky. In older versions of Fortran, for instance, a '1' in a particular position near the start of a line marked it as a continuation of the previous line. Such a feature is needed only for languages for which new-line is an explicit part of the syntax for some language constructs that might need to be much longer than can fit on a single physical line. In C, that applies to most pre- processor directives.
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2020-12-08 17:31 +0000 |
| Message-ID | <9MOzH.256045$ijZ9.217531@fx05.ams4> |
| In reply to | #157087 |
On 08/12/2020 14:52, james...@alumni.caltech.edu wrote: > On Tuesday, December 8, 2020 at 9:40:54 AM UTC-5, Bart wrote: >> On 08/12/2020 12:32, Richard Damon wrote: > ... >>> It actually comes out very simply by the way the langague is defined, >>> and it provides a very usefull capability for machine generated code >>> with line length constraints. >> Yet, I've only heard of it in connection with C. No other language that >> I know of does this. How did /they/ (and do they) manage without such a >> feature?! > > I've heard of several languages that provide one mechanism or another for > splicing multiple lines together into one logical line, all of them klunky. Yes, that is common. What isn't so common is allowing that to happen between any two characters, even in the middle of a token, rather than between two tokens. In > older versions of Fortran, for instance, a '1' in a particular position near the > start of a line marked it as a continuation of the previous line. Fortan was rather peculiar (probably still is) in ignoring spaces where they are needed to separate tokens as in conventional syntax. Having a continuation logic be applied before tokenisation wouldn't raise eyebrows as much; it would be different anyway as it's marked at the start of the next line (eg. next punched card) rather than at the end of the line being continued.
[toc] | [prev] | [next] | [standalone]
| From | Kaz Kylheku <563-365-8930@kylheku.com> |
|---|---|
| Date | 2020-12-08 20:16 +0000 |
| Message-ID | <20201208103416.809@kylheku.com> |
| In reply to | #157092 |
On 2020-12-08, Bart <bc@freeuk.com> wrote:
> On 08/12/2020 14:52, james...@alumni.caltech.edu wrote:
>> On Tuesday, December 8, 2020 at 9:40:54 AM UTC-5, Bart wrote:
>>> On 08/12/2020 12:32, Richard Damon wrote:
>> ...
>>>> It actually comes out very simply by the way the langague is defined,
>>>> and it provides a very usefull capability for machine generated code
>>>> with line length constraints.
>>> Yet, I've only heard of it in connection with C. No other language that
>>> I know of does this. How did /they/ (and do they) manage without such a
>>> feature?!
>>
>> I've heard of several languages that provide one mechanism or another for
>> splicing multiple lines together into one logical line, all of them klunky.
>
> Yes, that is common.
>
> What isn't so common is allowing that to happen between any two
> characters, even in the middle of a token, rather than between two tokens.
In TXR Lisp, I only allow continuation in he middle of a token!
Specifically, a string-literal token. There is no general line
continuation feature.
This is the TXR Lisp interactive listener of TXR 244.
Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
TXR is made with equipment not contaminated by peanuts ... r-r-right?
1> "foo bar \
baz"
"foo barbaz"
Note how all he whitespace surrounding the \ is deleted!
2> "foo bar \
baz"
"foo barbaz"
This allows continued literals to obey the indentation.
A space can be escaped to prevent its deletion, using one of these
patterns:
2> "foo bar \
\ baz"
"foo bar baz"
3> "foo bar\ \
baz"
"foo bar baz"
I could have imposed the requirement that literals can simply continue
across lines without a backslash.
But that doesn't sit well with me.
The first reason is this:
Most literals are closed in the same line, and so in most cases
when the closing delimiter is not seen in the same line, it is an
unintentional error situation. We would like to diagnose it promptly.
Furthermore, there is a risk that we will not diagnose it at all:
(blah sym "forgotten close
sym 123 stray quote follows" blah)
Naively allowing multi-line literals is a poorly considered misfeature.
(Which is why it finds an excellent home in the POSIX shell language).
The second reason is that I would like to be able to continue a literal
without the newline becoming part of the data. If you allow this:
"abcdef
ghi"
such that it simply deletes all he whitespace and produces "abcdefghi",
that will surprise users coming from other languages.
Combining adjacent literals like in C is a complete nonstarter in a
Lisp. ("abc" "def") must be a different object from ("abcdef").
[toc] | [prev] | [next] | [standalone]
| From | Bart <bc@freeuk.com> |
|---|---|
| Date | 2020-12-08 20:48 +0000 |
| Message-ID | <uERzH.98227$J736.62644@fx42.ams4> |
| In reply to | #157097 |
On 08/12/2020 20:16, Kaz Kylheku wrote:
> On 2020-12-08, Bart <bc@freeuk.com> wrote:
>> What isn't so common is allowing that to happen between any two
>> characters, even in the middle of a token, rather than between two tokens.
>
> In TXR Lisp, I only allow continuation in he middle of a token!
> Specifically, a string-literal token. There is no general line
> continuation feature.
>
> This is the TXR Lisp interactive listener of TXR 244.
> Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
> TXR is made with equipment not contaminated by peanuts ... r-r-right?
> 1> "foo bar \
> baz"
> "foo barbaz"
Python does something similar, allows \ in the middle of a string, but
the white space at the start of the next line is part of the string, so
can't be used for indentation.
(Otherwise, \ is only allowed between tokens.)
> Note how all he whitespace surrounding the \ is deleted!
>
> 2> "foo bar \
> baz"
> "foo barbaz"
>
> This allows continued literals to obey the indentation.
> A space can be escaped to prevent its deletion, using one of these
> patterns:
>
> 2> "foo bar \
> \ baz"
> "foo bar baz"
> 3> "foo bar\ \
> baz"
> "foo bar baz"
What about requiring the continuation of the string to start with "?
Although that would be tidier if both parts had ":
"foo bar" \
"baz"
Then \ has the effect also of splicing those two tokens.
> I could have imposed the requirement that literals can simply continue
> across lines without a backslash.
>
> But that doesn't sit well with me.
>
> The first reason is this:
>
> Most literals are closed in the same line, and so in most cases
> when the closing delimiter is not seen in the same line, it is an
> unintentional error situation. We would like to diagnose it promptly.
>
> Furthermore, there is a risk that we will not diagnose it at all:
>
> (blah sym "forgotten close
> sym 123 stray quote follows" blah)
>
> Naively allowing multi-line literals is a poorly considered misfeature.
> (Which is why it finds an excellent home in the POSIX shell language).
>
> The second reason is that I would like to be able to continue a literal
> without the newline becoming part of the data. If you allow this:
>
> "abcdef
> ghi"
>
> such that it simply deletes all he whitespace and produces "abcdefghi",
> that will surprise users coming from other languages.
Allowing real newlines belonging to the source file into the string is
not good.
My current scheme if literals have to be combined is one of:
"abc" "def" # forms one token
"abc" \ # without \, it's "abc" ; "def"
"def"
"abc" + "def"
"abc" + # binary op means line continues
"def"
The "+" seems obvious but I never got round to it until just now. It's a
more grown-up way of doing it, and allows either operand to be a named
constant, or any expression that reduces to a constant string.
> Combining adjacent literals like in C is a complete nonstarter in a
> Lisp. ("abc" "def") must be a different object from ("abcdef").
You're not tempted with an infix operator like my + and \ examples?
(+ "abc" "def") will work too.
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2020-12-08 15:34 -0800 |
| Message-ID | <40d91b0a-8a88-4ea9-99df-e3365ccadf0bn@googlegroups.com> |
| In reply to | #157099 |
On Tuesday, 8 December 2020 at 20:48:44 UTC, Bart wrote:
> On 08/12/2020 20:16, Kaz Kylheku wrote:
> > On 2020-12-08, Bart <b...@freeuk.com> wrote:
>
> >> What isn't so common is allowing that to happen between any two
> >> characters, even in the middle of a token, rather than between two tokens.
> >
> > In TXR Lisp, I only allow continuation in he middle of a token!
> > Specifically, a string-literal token. There is no general line
> > continuation feature.
> >
> > This is the TXR Lisp interactive listener of TXR 244.
> > Quit with :quit or Ctrl-D on an empty line. Ctrl-X ? for cheatsheet.
> > TXR is made with equipment not contaminated by peanuts ... r-r-right?
> > 1> "foo bar \
> > baz"
> > "foo barbaz"
> Python does something similar, allows \ in the middle of a string, but
> the white space at the start of the next line is part of the string, so
> can't be used for indentation.
>
> (Otherwise, \ is only allowed between tokens.)
> > Note how all he whitespace surrounding the \ is deleted!
> >
> > 2> "foo bar \
> > baz"
> > "foo barbaz"
> >
> > This allows continued literals to obey the indentation.
>
> > A space can be escaped to prevent its deletion, using one of these
> > patterns:
> >
> > 2> "foo bar \
> > \ baz"
> > "foo bar baz"
> > 3> "foo bar\ \
> > baz"
> > "foo bar baz"
> What about requiring the continuation of the string to start with "?
> Although that would be tidier if both parts had ":
>
> "foo bar" \
> "baz"
>
> Then \ has the effect also of splicing those two tokens.
> > I could have imposed the requirement that literals can simply continue
> > across lines without a backslash.
> >
> > But that doesn't sit well with me.
> >
> > The first reason is this:
> >
> > Most literals are closed in the same line, and so in most cases
> > when the closing delimiter is not seen in the same line, it is an
> > unintentional error situation. We would like to diagnose it promptly.
> >
> > Furthermore, there is a risk that we will not diagnose it at all:
> >
> > (blah sym "forgotten close
> > sym 123 stray quote follows" blah)
> >
> > Naively allowing multi-line literals is a poorly considered misfeature.
> > (Which is why it finds an excellent home in the POSIX shell language).
> >
> > The second reason is that I would like to be able to continue a literal
> > without the newline becoming part of the data. If you allow this:
> >
> > "abcdef
> > ghi"
> >
> > such that it simply deletes all he whitespace and produces "abcdefghi",
> > that will surprise users coming from other languages.
> Allowing real newlines belonging to the source file into the string is
> not good.
>
> My current scheme if literals have to be combined is one of:
>
> "abc" "def" # forms one token
>
> "abc" \ # without \, it's "abc" ; "def"
> "def"
>
> "abc" + "def"
>
> "abc" + # binary op means line continues
> "def"
>
> The "+" seems obvious but I never got round to it until just now. It's a
> more grown-up way of doing it, and allows either operand to be a named
> constant, or any expression that reduces to a constant string.
> > Combining adjacent literals like in C is a complete nonstarter in a
> > Lisp. ("abc" "def") must be a different object from ("abcdef").
> You're not tempted with an infix operator like my + and \ examples?
>
> (+ "abc" "def") will work too.
>
Here's my offering.
#include <stdio.h>
#include <stdlib.h>
void skipblockcomment(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc(' ', fpout);
while( (ch = fgetc(fpin)) != EOF)
{
if (ch == '/' && prevch == '*')
return;
if (ch == '\\')
if (fgetc(fpin) == '\n')
continue;
prevch = ch;
}
fprintf(stderr, "EOF in block comment\n");
exit(EXIT_FAILURE);
}
void skiplinecomment(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc('\n', fpout);
while ((ch = fgetc(fpin)) != EOF)
{
if (ch == '\n' && prevch != '\\')
return;
prevch = ch;
}
}
void outputstring(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc('\"', fpout);
while ((ch = fgetc(fpin)) != EOF)
{
fputc(ch, fpout);
if (ch == '\"' && prevch != '\\')
return;
if (ch == '\\' && prevch == '\\')
prevch = -1;
else
prevch = ch;
}
fprintf(stderr, "Unterminated string literal\n");
exit(EXIT_FAILURE);
}
void flushbuffer(int *buff, int N, FILE *fp)
{
int i;
for (i= 0; i < N; i++)
{
if (buff[i] != -1)
fputc(buff[i], fp);
buff[i] = -1;
}
}
void shiftbuffer(int *buff, int N, int ch, FILE *fp)
{
int i;
if (buff[0] != -1)
fputc(buff[0], fp);
for (i =0; i < N-1; i++)
buff[i] = buff[i+1];
buff[N-1] = ch;
}
void clearbuffer(int *buff, int N)
{
int i;
for (i =0; i < N; i++)
buff[i] = -1;
}
void stripcomments(FILE *fpin, FILE *fpout)
{
int ch;
int buff[3] = {-1, -1, -1};
while ((ch = fgetc(fpin)) != EOF)
{
if (ch == '*' && buff[2] == '/')
skipblockcomment(fpin, fpout);
else if (ch == '/' && buff[2] == '/')
skiplinecomment(fpin, fpout);
else if (ch == '"' && buff[2] != '\\')
{
flushbuffer(buff, 3, fpout);
outputstring(fpin, fpout);
}
else if(ch == '*' && buff[2] == '\n' && buff[1] == '\\' && buff[0] == '/')
{
skipblockcomment(fpin, fpout);
}
else if(ch == '/' && buff[2] == '\n' && buff[1] == '\\' && buff[0] == '/')
{
skiplinecomment(fpin, fpout);
}
else
{
shiftbuffer(buff, 3, ch, fpout);
continue;
}
clearbuffer(buff, 3);
}
flushbuffer(buff, 3, fpout);
}
void usage(void)
{
printf("strips comments form a C file\n");
printf("Usage: stripcomments <source.c>\n");
exit(EXIT_FAILURE);
}
int main(int argc, char **argv)
{
FILE *fp;
if (argc != 2)
usage();
fp = fopen(argv[1], "r");
if (!fp)
{
fprintf(stderr, "Error opening file %s\n", argv[1]);
exit(EXIT_FAILURE);
}
stripcomments(fp, stdout);
fclose(fp);
return 0;
}
You see that the code is dominated by the line continuation / split
tokens problem. That's the reason for the use of a three character buffer,
the buffer routines,a nd the complexity in the high-level function.
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2020-12-09 02:54 +0300 |
| Message-ID | <20201209025426.65072e5c80c7ece6c856c982@gmail.com> |
| In reply to | #157105 |
Malcolm, you program is not even trying :-) Test it with: a/*b*/c -- () ascii ribbon campaign -- against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2020-12-09 12:33 +0300 |
| Message-ID | <20201209123317.78730e7752b13ebff4ae03b1@gmail.com> |
| In reply to | #157107 |
I wrote: > Malcolm, > > you[r] program is not even trying :-) > Test it with: > > a/*b*/c I still do not understand. When I save the text quoted above into a file named 1.c and invoke your program with it: mclean.exe 1.c The result is: c -- that is a space followed by ` '. Is it correct behavior? I expected: a c -- that is three characters: `a', space, and `c'. -- () ascii ribbon campaign -- against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2020-12-09 12:43 +0300 |
| Message-ID | <20201209124316.ffcaa7af2a3d9e6b4151a4c7@gmail.com> |
| In reply to | #157132 |
I wrote to Malcolm McLean: > > a/*b*/c > > I still do not understand. When I save the text quoted above > into a file named 1.c and invoke your program with it: > > mclean.exe 1.c > > The result is: > > c > > -- that is a space followed by ` '. No, that is a space followed by `c'. Still not what I expected. -- () ascii ribbon campaign -- against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2020-12-09 01:52 -0800 |
| Message-ID | <6174e253-7c72-4101-aef5-1a92504617bfn@googlegroups.com> |
| In reply to | #157134 |
On Wednesday, 9 December 2020 at 09:43:33 UTC, Anton Shepelev wrote:
> I wrote to Malcolm McLean:
> > > a/*b*/c
> >
> > I still do not understand. When I save the text quoted above
> > into a file named 1.c and invoke your program with it:
> >
> > mclean.exe 1.c
> >
> > The result is:
> >
> > c
> >
> > -- that is a space followed by ` '.
> No, that is a space followed by `c'. Still not what I
> expected.
>
#include <stdio.h>
#include <stdlib.h>
void skipblockcomment(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc(' ', fpout);
while( (ch = fgetc(fpin)) != EOF)
{
if (ch == '/' && prevch == '*')
return;
if (ch == '\\')
if (fgetc(fpin) == '\n')
continue;
prevch = ch;
}
fprintf(stderr, "EOF in block comment\n");
exit(EXIT_FAILURE);
}
void skiplinecomment(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc('\n', fpout);
while ((ch = fgetc(fpin)) != EOF)
{
if (ch == '\n' && prevch != '\\')
return;
prevch = ch;
}
}
void outputstring(FILE *fpin, FILE *fpout)
{
int prevch = -1;
int ch;
fputc('\"', fpout);
while ((ch = fgetc(fpin)) != EOF)
{
fputc(ch, fpout);
if (ch == '\"' && prevch != '\\')
return;
if (ch == '\\' && prevch == '\\')
prevch = -1;
else
prevch = ch;
}
fprintf(stderr, "Unterminated string literal\n");
exit(EXIT_FAILURE);
}
void flushbuffer(int *buff, int N, FILE *fp)
{
int i;
for (i= 0; i < N; i++)
{
if (buff[i] != -1)
fputc(buff[i], fp);
buff[i] = -1;
}
}
void shiftbuffer(int *buff, int N, int ch, FILE *fp)
{
int i;
if (buff[0] != -1)
fputc(buff[0], fp);
for (i =0; i < N-1; i++)
buff[i] = buff[i+1];
buff[N-1] = ch;
}
void clearbuffer(int *buff, int N)
{
int i;
for (i =0; i < N; i++)
buff[i] = -1;
}
void stripcomments(FILE *fpin, FILE *fpout)
{
int ch;
int buff[3] = {-1, -1, -1};
while ((ch = fgetc(fpin)) != EOF)
{
if (ch == '*' && buff[2] == '/')
{
buff[2] = -1;
flushbuffer(buff, 3, fpout);
skipblockcomment(fpin, fpout);
}
else if (ch == '/' && buff[2] == '/')
{
buff[2] = -1;
flushbuffer(buff, 3, fpout);
skiplinecomment(fpin, fpout);
}
else if (ch == '"' && buff[2] != '\\')
{
flushbuffer(buff, 3, fpout);
outputstring(fpin, fpout);
}
else if(ch == '*' && buff[2] == '\n' && buff[1] == '\\' && buff[0] == '/')
{
skipblockcomment(fpin, fpout);
}
else if(ch == '/' && buff[2] == '\n' && buff[1] == '\\' && buff[0] == '/')
{
skiplinecomment(fpin, fpout);
}
else
{
shiftbuffer(buff, 3, ch, fpout);
continue;
}
clearbuffer(buff, 3);
}
flushbuffer(buff, 3, fpout);
}
void usage(void)
{
printf("strips comments form a C file\n");
printf("Usage: stripcomments <source.c>\n");
exit(EXIT_FAILURE);
}
int main(int argc, char **argv)
{
FILE *fp;
if (argc != 2)
usage();
fp = fopen(argv[1], "r");
if (!fp)
{
fprintf(stderr, "Error opening file %s\n", argv[1]);
exit(EXIT_FAILURE);
}
stripcomments(fp, stdout);
fclose(fp);
return 0;
}
Here's the bug fix. It take the high level function over the 25 line limit, but that
has just been relaxed.
[toc] | [prev] | [next] | [standalone]
| From | Anton Shepelev <anton.txt@gmail.com> |
|---|---|
| Date | 2020-12-13 00:28 +0300 |
| Message-ID | <20201213002811.4a7e332b559e342629efb75c@gmail.com> |
| In reply to | #157137 |
Malcolm McLean > Here's the bug fix. It take the high level function over > the 25 line limit, but that has just been relaxed. It strongly disagrees with my program about the following input (between --- separators): --- \ \ /\ \ \ /\ a --- My program yields: --- \ \ --- and yours repeats the whole input verbatim. Which one is right? -- () ascii ribbon campaign -- against html e-mail /\ http://preview.tinyurl.com/qcy6mjc [archived]
[toc] | [prev] | [next] | [standalone]
| From | Ben Bacarisse <ben.usenet@bsb.me.uk> |
|---|---|
| Date | 2020-12-12 21:40 +0000 |
| Message-ID | <87360aaejt.fsf@bsb.me.uk> |
| In reply to | #157233 |
Anton Shepelev <anton.txt@gmail.com> writes: > Malcolm McLean > >> Here's the bug fix. It take the high level function over >> the 25 line limit, but that has just been relaxed. > > It strongly disagrees with my program about the following > input (between --- separators): > > --- > \ > \ > /\ > \ > \ > /\ > a > --- > > My program yields: > > --- > \ > \ > > --- > > and yours repeats the whole input verbatim. Which one is > right? Yours, surely. The input is two continuations which, outside of a comment should be retained, followed by //a written over five lines, none of which should be retained. -- Ben.
[toc] | [prev] | [next] | [standalone]
| From | Malcolm McLean <malcolm.arthur.mclean@gmail.com> |
|---|---|
| Date | 2020-12-12 13:48 -0800 |
| Message-ID | <34f7cbd7-fb6c-493c-8dce-9eb7d7d57a66n@googlegroups.com> |
| In reply to | #157236 |
On Saturday, 12 December 2020 at 21:40:52 UTC, Ben Bacarisse wrote: > Anton Shepelev <anto...@gmail.com> writes: > > > Malcolm McLean > > > >> Here's the bug fix. It take the high level function over > >> the 25 line limit, but that has just been relaxed. > > > > It strongly disagrees with my program about the following > > input (between --- separators): > > > > --- > > \ > > \ > > /\ > > \ > > \ > > /\ > > a > > --- > > > > My program yields: > > > > --- > > \ > > \ > > > > --- > > > > and yours repeats the whole input verbatim. Which one is > > right? > Yours, surely. The input is two continuations which, outside of a > comment should be retained, followed by //a written over five lines, > none of which should be retained. > Yes, mine doesn't handle blank newline continuations in the middle of a token. It only handles toakens split by a single line contuniation marker. To adapt it would entail rewriting the whole main function from scratch, so I haven't submitted it.
[toc] | [prev] | [next] | [standalone]
Page 8 of 20 — ← Prev page 1 … 6 7 [8] 9 10 … 20 Next page →
Back to top | Article view | comp.lang.c
csiph-web