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


Groups > comp.lang.c > #402647 > unrolled thread

Taming The Switch-Statement

Started byLawrence D’Oliveiro <ldo@nz.invalid>
First post2026-10-03 08:43 +0000
Last post2026-10-13 23:19 +0100
Articles 20 on this page of 315 — 21 participants

Back to article view | Back to comp.lang.c


Contents

  Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-03 08:43 +0000
    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 11:24 +0100
      Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 22:15 +0000
    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-03 14:22 +0200
    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-03 18:02 +0200
      Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:24 +0800
      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-03 17:36 +0100
        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-03 16:31 -0700
          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-04 10:23 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 12:18 +0100
          Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:20 +0200
            Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:34 +0000
              Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:04 -0700
        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 16:18 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 16:09 +0100
            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 16:59 +0000
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 18:30 +0100
                Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-04 19:49 +0100
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 20:35 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-04 22:27 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-04 22:47 +0100
                  Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-04 21:59 +0000
        Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-04 23:38 +0000
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:24 +0100
            Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:48 +0000
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 00:11 +0100
                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 09:49 +0200
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 11:12 +0200
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:41 +0200
                      Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-06 12:33 +0100
                        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:16 +0100
                          Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:37 +0000
                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 17:27 +0100
                              Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-06 23:14 +0000
                                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 01:25 +0100
                                  Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 04:19 +0000
                                    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-07 06:28 +0000
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:39 +0100
                                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 12:57 +0200
                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:32 +0100
                                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-07 15:10 +0000
                                        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 19:41 +0100
                                          Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-08 04:49 +0000
                                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-08 12:24 +0100
                                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 09:07 +0200
                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 11:49 +0100
                                      Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 13:11 +0200
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 16:17 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 15:32 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:25 +0200
                          Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:39 +0000
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:48 +0200
                              Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 18:12 +0000
                                [OT] substances (was Re: Taming The Switch-Statement) Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:50 +0200
                                Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:06 -0700
                      Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 19:25 +0200
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:28 +0200
                          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-07 15:16 +0200
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 16:40 +0200
                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-08 07:24 -0700
                      Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:08 -0700
                        Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 23:45 +0000
                          Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 17:08 -0700
                          Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-07 10:35 +0200
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-06 12:33 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:16 +0200
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 16:41 -0700
                Re: Taming The Switch-Statement tTh <tth@none.invalid> - 2026-10-06 12:14 +0200
                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 12:43 +0200
                Re: Taming The Switch-Statement Jim Jackson <jj@franjam.org.uk> - 2026-10-06 11:47 +0000
                Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-06 16:05 -0700
                Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-07 00:42 +0000
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 13:52 +0100
                    Re: Taming The Switch-Statement "Chris M. Thomasson" <chris.m.thomasson.1@gmail.com> - 2026-10-07 14:06 -0700
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-07 23:31 +0100
        Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-05 21:32 +0000
          Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 06:07 +0800
          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 16:42 -0700
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-05 18:05 -0700
              Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 09:04 +0200
                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:11 -0700
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-06 21:40 +0200
                  Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 13:12 -0700
              Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 00:59 -0700
                Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-06 08:16 +0000
                  Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-06 04:21 -0700
              Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 04:46 -0700
            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-06 14:43 +0000
              Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-06 17:36 +0200
        Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-06 20:36 -0700
    Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-04 00:20 +0800
    Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 09:05 -0700
      Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-04 23:44 +0000
        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 01:46 +0100
          Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-04 20:48 -0700
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-05 06:24 +0200
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-05 11:09 +0100
          Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:22 +0800
            Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-06 05:26 +0800
    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 00:25 +0000
      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 01:58 +0100
        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-09 19:17 -0700
          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 11:53 +0100
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 14:01 +0200
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 14:11 +0100
                Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:34 +0800
                  Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-10 21:58 +0800
                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-10 17:50 +0200
                  Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 05:52 +0000
                    Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:16 +0000
                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 23:38 +0000
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 11:58 +0100
                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 14:42 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:39 +0100
                        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 15:35 -0700
                    Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 14:42 +0000
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 17:23 +0100
                        Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 17:48 +0000
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 19:10 +0100
                            Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-12 07:01 +0000
                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 16:41 +0100
                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:08 +0200
                  Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:02 +0300
                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-10 19:03 +0000
                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 22:29 +0300
                    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 21:55 +0200
                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 23:03 +0300
                        Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 22:33 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:53 +0100
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:16 +0200
                            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-11 15:29 +0000
                          Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-10 15:30 -0700
                            Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-10 22:58 +0000
                              Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:09 +0800
                                Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-11 10:14 +0000
                                  Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:12 +0000
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:58 +0200
                          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:32 -0700
                            Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-11 01:58 +0300
                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 01:43 +0100
                            Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:12 +0800
                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 04:07 +0200
                              Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 20:13 -0700
                                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:36 +0200
                                Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 14:22 -0700
                                  Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 15:00 -0700
                                    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-17 01:29 +0200
                        Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 04:26 -0700
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 13:35 +0100
                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-11 06:13 -0700
                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 14:51 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 15:33 +0200
                              Re: Taming The Switch-Statement Andrey Tarasevich <noone@noone.net> - 2026-10-11 09:01 -0700
                                Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 19:17 +0200
                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 18:57 +0100
                                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:28 -0700
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:02 +0100
                                        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 16:29 -0700
                                      Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-12 04:03 -0700
                                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-12 22:02 +0300
                                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 21:09 +0200
                                          Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-12 22:31 +0300
                                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-12 22:32 +0200
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 22:05 +0100
                                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 23:14 +0200
                                            Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-13 07:23 +0000
                                              Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 12:12 +0200
                                                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:26 +0100
                                                  Re: Taming The Switch-Statement Richard Harnden <richard.nospam@gmail.invalid> - 2026-10-13 12:10 +0100
                                                    Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 06:55 -0700
                                                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 13:33 +0200
                                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 13:41 +0100
                                                      Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 14:38 +0000
                                                        Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 18:04 +0200
                                                          Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 20:52 +0000
                                                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 22:24 +0100
                                                            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-14 00:03 +0200
                                                              Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 10:53 +0000
                                                                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-14 17:54 +0200
                                                                  Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:48 +0000
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:16 +0100
                                              Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-13 21:54 +0000
                                                Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-16 15:24 +0000
                                                  Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-16 21:42 +0000
                                                    Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-16 21:46 +0000
                                                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 15:03 -0700
                                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 07:40 -0700
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 16:46 +0100
                                                Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 09:10 -0700
                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 18:15 +0100
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:27 -0700
                                                  Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-14 01:50 +0000
                                                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 10:58 +0000
                                              Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 22:54 +0300
                                                Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-13 16:45 -0700
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:34 -0700
                                                Re: Taming The Switch-Statement Kaz Kylheku <046-301-5902@kylheku.com> - 2026-10-14 05:17 +0000
                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 13:46 +0100
                                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:05 +0200
                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 14:37 +0100
                                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:12 +0200
                                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 16:32 +0100
                                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 19:05 +0200
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 19:15 +0100
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:43 -0700
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:45 -0700
                                                  Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 23:46 +0000
                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 00:56 +0100
                                        Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:58 +0000
                                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 20:38 +0100
                                            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 19:52 +0000
                                              Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-12 22:56 +0200
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 21:57 +0100
                                                Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 21:21 +0000
                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 22:46 +0100
                                                    Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-13 09:27 +0200
                                                      Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 12:18 +0200
                                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 11:33 +0100
                                                Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 00:25 +0300
                                            Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 22:20 +0000
                                            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 17:02 -0700
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 01:53 +0100
                                              Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-13 03:54 +0200
                                              Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-13 10:52 +0000
                                                Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-13 23:16 +0300
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 18:44 -0700
                                            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 17:33 -0700
                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 00:21 +0100
                                                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 20:40 -0700
                                                Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 03:59 +0000
                                                  Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-13 21:35 -0700
                                                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 11:27 +0000
                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 12:17 +0100
                                                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 12:38 +0000
                                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 16:49 +0100
                                                        Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:30 +0000
                                                          Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-14 23:28 +0300
                                                            Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-14 21:30 -0700
                                                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 21:56 +0100
                                                            Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 21:59 +0100
                                                            Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 01:26 +0000
                                                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 12:01 +0100
                                                                Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 11:45 +0000
                                                                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 15:57 +0100
                                                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 18:10 +0100
                                                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-16 02:42 +0100
                                                                    Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 20:42 +0000
                                                                      Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-15 23:57 +0300
                                                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 23:22 +0100
                                                                        Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-16 12:40 +0000
                                                                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-17 00:01 +0100
                                                                            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-16 16:53 -0700
                                                                            Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-17 03:19 +0000
                                                              Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-15 05:17 -0700
                                                                Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 14:37 +0000
                                                                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-15 20:50 +0200
                                                                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-15 19:59 +0100
                                                                  Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-15 20:49 +0000
                                                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-14 18:51 +0100
                                                        Re: Taming The Switch-Statement "Peyton" <peyton@solacium.com> - 2026-10-14 11:04 -0700
                                                        Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-14 19:47 +0000
                                                        Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-14 13:58 -0700
                                                          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-15 12:08 +0200
                                                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-14 14:23 -0700
                                                Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-14 14:35 +0000
                                Re: Taming The Switch-Statement Tim Rentsch <tr.17687@z991.linuxsc.com> - 2026-10-16 03:36 -0700
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:38 -0700
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 21:09 +0100
                    Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 23:14 +0200
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-10 23:01 +0100
                      Re: Taming The Switch-Statement antispam@fricas.org (Waldek Hebisch) - 2026-10-11 08:00 +0000
                        Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:27 +0200
                          Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 10:49 +0200
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:30 -0700
              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 02:12 +0100
                Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 19:55 -0700
                  Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 11:00 +0200
                  Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 12:21 +0100
                    Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-11 14:04 -0700
                      Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 23:05 +0100
                        Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 07:22 +0200
                          Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 11:42 +0100
                            Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-12 16:15 +0200
                            Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 14:34 +0000
                              Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 16:47 +0100
                                Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-13 00:15 +0800
                                  Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-12 17:02 +0000
                                    Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-13 20:04 +0800
                                      Re: Taming The Switch-Statement ram@zedat.fu-berlin.de (Stefan Ram) - 2026-10-13 17:28 +0000
                                        Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-14 02:05 +0800
                                Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 17:17 +0000
                                Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:37 +0000
                            Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 17:34 +0000
                              Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 18:46 +0000
                                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-12 19:52 +0100
                                  Re: Taming The Switch-Statement scott@slp53.sl.home (Scott Lurndal) - 2026-10-12 19:42 +0000
                                  Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:29 -0700
                                    Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 00:53 +0100
                                      Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 18:14 -0700
                                Re: Taming The Switch-Statement cross@spitfire.i.gajendra.net (Dan Cross) - 2026-10-12 22:35 +0000
                            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-12 16:14 -0700
                Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-11 22:36 +0100
          Re: Taming The Switch-Statement gazelle@shell.xmission.com (Kenny McCormack) - 2026-10-10 13:14 +0000
          Re: Taming The Switch-Statement Michael S <already5chosen@yahoo.com> - 2026-10-10 19:50 +0300
            Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-10 20:13 +0200
              Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 15:54 -0700
                Re: Taming The Switch-Statement Janis Papanagnou <janis_papanagnou+ng@hotmail.com> - 2026-10-11 03:41 +0200
                  Re: Taming The Switch-Statement Johann 'Myrkraverk' Oskarsson <johann@myrkraverk.invalid> - 2026-10-11 09:51 +0800
                  Re: Taming The Switch-Statement David Brown <david.brown@hesbynett.no> - 2026-10-11 11:41 +0200
            Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:44 -0700
          Re: Taming The Switch-Statement Keith Thompson <Keith.S.Thompson+u@gmail.com> - 2026-10-10 16:56 -0700
      Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-11 21:26 +0000
        Re: Taming The Switch-Statement Jon Ribbens <jon+usenet@unequivocal.eu> - 2026-10-11 22:12 +0000
      Re: Taming The Switch-Statement Lawrence D’Oliveiro <ldo@nz.invalid> - 2026-10-13 22:00 +0000
        Re: Taming The Switch-Statement bart <bc@freeuk.com> - 2026-10-13 23:19 +0100

Page 13 of 16 — ← Prev page 1 … 11 12 [13] 14 15 16  Next page →


#403173

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-15 01:26 +0000
Message-ID<11apa4b$kv$1@reader2.panix.com>
In reply to#403167
In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>On 14/10/2026 20:30, Dan Cross wrote:
>[snip more of the same already hashed and rehashed ad naseum]
>
>As for multiple nested loops, this will fix that too, that's great. We 
>just require some real examples of that being needed!

Here's a pretty terrible way to write part of a lexical
analyzer.  I just typed this in an hour or so ago.

#include <ctype.h>
#include <stddef.h>
#include <stdio.h>
#include <stdlib.h>
#include <string.h>

static size_t lineno = 1;
static size_t colno = 0;

#define	MAXTOKLEN	1024

typedef enum TokenType TokenType;
enum TokenType {
	TkERROR = -1,
	TkEOF = 0,

	TkSTAR = '*',
	TkSLASH = '/',
	TkPLUS = '+',
	TkMINUS = '-',

	TkLT = '<',
	TkGT = '>',
	TkEQ = '=',
	TkBANG = '!',

	TkGE = 0x1000,
	TkLE,
	TkSTRING,
	TkIDENT,
	// etc....
};

typedef struct Token Token;
struct Token {
	TokenType type;
	char *token;
};

Token *
newtoken(TokenType tt, char *s, char *e)
{
	size_t len = sizeof(Token) + (e - s) + 1 + (e == s);
	Token *token = malloc(len);
	if (token == NULL) abort();
	memset(token, 0, len);
	token->type = tt;
	token->token = (char *)token + sizeof(*token);
	token->token[0] = tt;
	if (e != s)
		memcpy(token->token, s, e - s);
	return token;
}

static int
peek(FILE *fp)
{
	int ch = fgetc(fp);
	if (ch != EOF)
		ungetc(ch, fp);
	return ch;
}

Token *
nexttoken(FILE *fp)
{
	char tokstr[MAXTOKLEN], *tp = tokstr, *te = tokstr + MAXTOKLEN - 1;
	enum TokenType tt = TkEOF;
	Token *next = NULL;
	int ch;
	unsigned char c;

	loop:
	while ((ch = fgetc(fp)) != EOF) {
		tt = TkERROR;
		++colno;
		switch (ch) {
		case '\n':
			++lineno;
			colno = 0;
		case ' ':
		case '\t':
		case '\f':
		case '\v':
		case '\r':
			break;
		case '*':
			tt = TkSTAR;
			break loop;
		case '/':
			tt = TkSLASH;
			ch = peek(fp);
			switch (ch) {
			case EOF:
				break loop;
			case '/':
				while ((ch = fgetc(fp)) != '\n')
					if (ch == EOF)
						break loop;
				ungetc(ch, fp);
				continue;
			default:
				break;
			}
			break loop;
		case '+':
			tt = TkPLUS;
			break loop;
		case '-':
			tt = TkMINUS;
			break loop;
		case '<':
			tt = TkLT;
			*tp++ = '<'; 
			ch = peek(fp);
			switch (ch) {
			case EOF:
				break loop;
			case '=':
				tt = TkLE;
				*tp++ = '=';
				break;
			default:
				break;
			}
			*tp++ = '\0';
			break loop;
		case '>':
			tt = TkGT;
			*tp++ = '>';
			ch = peek(fp);
			switch (ch) {
			case EOF:
				break loop;
			case '=':
				tt = TkGE;
				*tp++ = '=';
				break;
			default:
				break;
			}
			*tp++ = '\0';
			break loop;
		case '=':
			tt = TkEQ;
			break loop;
		case '!':
			tt = TkBANG;
			break loop;
		case '"':
			tt = TkERROR;
			sloop:
			while (tp != te) {
				ch = fgetc(fp);
				switch (ch) {
				case EOF:
					break loop;
				case '"':
					break sloop;

				case '\\':
					ch = fgetc(fp);
					switch (ch) {
					case EOF:
						break loop;
					case 'n':
						ch = '\n';
						break;
					case 'r':
						ch = '\r';
						break;
					case 't':
						ch = '\t';
						break;
					default:
						break;
					}
				default:
					*tp++ = ch;
					break;
				}
			}
			*tp++ = '\0';
			tt = TkSTRING;
			break loop;
		default:
			c = ch;
			if (c != '_' && !isalnum(c))
				break loop;
			*tp++ = c;
			while (tp != te) {
				ch = fgetc(fp);
				if (ch == EOF)
					break loop;
				c = ch;
				if (c != '_' && !isalnum(c)) {
					ungetc(ch, fp);
					break;
				}
				*tp++ = c;
			}
			*tp++ = '\0';
			tt = TkIDENT;
			break loop;
		}
	}
	next = newtoken(tt, tokstr, tp);
	return next;
}

int
main(void)
{
	Token *tok;
	while ((tok = nexttoken(stdin)) != NULL) {
		if (tok->type == TkEOF)
			break;
		if (tok->type != TkERROR)
			printf("tok: tt = %x, token = '%s'\n", tok->type, tok->token);
		free(tok);
	}
	return 0;
}

>>> And yet I've solved all the problems in this thread and many others.
>
>> Congratulations!  And yet, despite you being obviously more
>> intelligent than all of Ritchie, McIlroy, Thompson, Johnson,
>> Kernighan, Plauger, and all of those who have and continue to
>> contribute to the development of C combined,
>
>Well, my personal C has 'breakloop'! Usually these micro-extensions are 
>shortlived, but I'll keep this one.

Consider that perhaps your obstinance about keeping this sort
of poorly thought-through extension is WHY no one but you uses
your stuff.

>  we don't see your
>> name on the list of contributors to that language, nor does
>> anyone other than you use your language.
>
>It's enough that I used it and benefited from it.
>
>This is that last example in my syntax (if the switch were the only 
>statement within the loop otherwise two more tokens needed):
>
>    doswitch x
>    when 3 then exit
>    end
>
>7 tokens vs. 20 tokens using N3355, and it's repeatable within the 
>function because 'exit' is relative.

Ok.  Don't really care.

>> But keep shooting hoops, bart.  Maybe some day a talent scout
>> will see you in your driveway and give you a starting position
>> on a playoff team.
>
>I really don't care. Most things in the world are not going the way I'd 
>like, and I'm not the only one who thinks that.
>
>This language stuff is small potatoes but it gives me kick to have long 
>ago come up with solutions that some languages take ... 54 years to 
>produce a compromise.
>
>Anyway, at least you've been a sport, unlike Mr. P.

*shrug*

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403184

Frombart <bc@freeuk.com>
Date2026-10-15 12:01 +0100
Message-ID<11aqbqv$2avn3$1@dont-email.me>
In reply to#403173
On 15/10/2026 02:26, Dan Cross wrote:
> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>> On 14/10/2026 20:30, Dan Cross wrote:
>> [snip more of the same already hashed and rehashed ad naseum]
>>
>> As for multiple nested loops, this will fix that too, that's great. We
>> just require some real examples of that being needed!
> 
> Here's a pretty terrible way to write part of a lexical
> analyzer.  I just typed this in an hour or so ago.
....


Wow, it's impressive that you went to that trouble just to prove a point 
about nested loops. (Even if it might have been a little bit contrived.)

But this is an interesting pattern with all those breaks:

     break;
     break loop;
     break loop;
     break loop;
     break;
     break loop;
     break loop;
     break loop;
     break loop;
     break;
     break;
     break loop;
     break loop;
     break;
     break;
     break loop;
     break loop;
     break loop;
     break loop;
     break sloop;
     break loop;
     break;
     break;
     break;
     break;
     break;
     break loop;
     break loop;
     break loop;
     break;   // loop
     break loop;
     break;  // loop

It seems most uses of 'break;' to break out of a loop have disappeared 
to be replaced with labeled versions.

The remaining breaks are switch-breaks.

Then I start looking at some of those "breaks;". Some (maybe one) is at 
top-level, it jumps to the end of that switch, so the end of the while, 
so is really 'continue'.

Most are in nested switches, some of those jump to a 'break loop'. Some 
jump somewhere else...

Basically this is spaghetti code (I know you said it was terrible); your 
eyes glaze over with breaks everywhere and you give up trying to figure 
out the control flow.

There are examples like this:

         continue;
     default:
         break;
     }
     break loop;

Do you even need 'default: break;}' or even an empty default:?

I then tried an experiment where I got rid of switch-break, to see what 
C code with automatic switch-break would look like.

It was a big improvement, now that you know that every case-blocks 
proceeds to the end of that switch, and you don't need to double-check 
every 'break' to see if it's to do with switches or loops:

     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break loop;
     break sloop;
     break loop;
     break loop;
     break loop;
     break loop;
     break;
     break loop;
     break;

All these are known to be loops, even 'break;'.

But also, labeled versions except three 'break loops' can be written as 
'break', since 'switch break' does not exist. You're left with:

     break loop;
     break loop;
     break loop;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;
     break;

(Not ordered.) Compare with the first set.

 >> [snip more of the same already hashed and rehashed ad naseum]

Perhaps that reused keyword thing is a bigger deal than you think. The 
effect of it is unnecessary obfuscation.

[toc] | [prev] | [next] | [standalone]


#403186

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-15 11:45 +0000
Message-ID<11aqect$hpr$1@reader2.panix.com>
In reply to#403184
In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>On 15/10/2026 02:26, Dan Cross wrote:
>> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>>> On 14/10/2026 20:30, Dan Cross wrote:
>>> [snip more of the same already hashed and rehashed ad naseum]
>>>
>>> As for multiple nested loops, this will fix that too, that's great. We
>>> just require some real examples of that being needed!
>> 
>> Here's a pretty terrible way to write part of a lexical
>> analyzer.  I just typed this in an hour or so ago.
>....
>
>Wow, it's impressive that you went to that trouble just to prove a point 
>about nested loops. (Even if it might have been a little bit contrived.)
>
>But this is an interesting pattern with all those breaks:
>
> [snip]
>
>It seems most uses of 'break;' to break out of a loop have disappeared 
>to be replaced with labeled versions.
>
>The remaining breaks are switch-breaks.
>
>Then I start looking at some of those "breaks;". Some (maybe one) is at 
>top-level, it jumps to the end of that switch, so the end of the while, 
>so is really 'continue'.
>
>Most are in nested switches, some of those jump to a 'break loop'. Some 
>jump somewhere else...
>
>Basically this is spaghetti code (I know you said it was terrible); your 
>eyes glaze over with breaks everywhere and you give up trying to figure 
>out the control flow.

Perhaps if I had spent more than like, 30 minutes, on it I would
have tidied it up.  The point was to illustrate a contrived
example where one might break out of nested switch statements,
loops inside of switch, switch inside of loops, loops inside of
switch inside of loops, and so on.

>There are examples like this:
>
>         continue;
>     default:
>         break;
>     }
>     break loop;
>
>Do you even need 'default: break;}' or even an empty default:?

You don't, but some compilers will complain if it isn't there.
See above.  It was merely a quick and dirty example.

>I then tried an experiment where I got rid of switch-break, to see what 
>C code with automatic switch-break would look like.
>
>It was a big improvement, now that you know that every case-blocks 
>proceeds to the end of that switch, and you don't need to double-check 
>every 'break' to see if it's to do with switches or loops:
>
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break sloop;
>     break loop;
>     break loop;
>     break loop;
>     break loop;
>     break;
>     break loop;
>     break;
>
>All these are known to be loops, even 'break;'.
>
>But also, labeled versions except three 'break loops' can be written as 
>'break', since 'switch break' does not exist. You're left with:
>
>     break loop;
>     break loop;
>     break loop;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>     break;
>
>(Not ordered.) Compare with the first set.

Compare what?  Without the surrounding context, this is utterly
meaningless: this isn't a useful illustration of working code;
this is the output of `grep`.

(btw, if you `|sort |uniq -c` you can actually get counts!  You
can even `|sort |uniq -c |sort -n` to order by frequency of
occurrence!)

> >> [snip more of the same already hashed and rehashed ad naseum]
>
>Perhaps that reused keyword thing is a bigger deal than you think. The 
>effect of it is unnecessary obfuscation.

This is certainly not evidence of that.  This is just your
assertion that you took a silly example and apparently (maybe?)
improved it, based on some unstated, but apparently subjective,
criteria.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403190

Frombart <bc@freeuk.com>
Date2026-10-15 15:57 +0100
Message-ID<11aqpl3$2gdup$1@dont-email.me>
In reply to#403186
On 15/10/2026 12:45, Dan Cross wrote:
> In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com> wrote:

>> Perhaps that reused keyword thing is a bigger deal than you think. The
>> effect of it is unnecessary obfuscation.
> 
> This is certainly not evidence of that.  This is just your
> assertion that you took a silly example and apparently (maybe?)
> improved it, based on some unstated, but apparently subjective,
> criteria.
I am stating that 'break' used to fix C's poor 'switch' feature 
interferes with 'break' used for loops.

It's not even my opinion: it's fact. In your example, about a third of 
'break' tokens are for taking care of switch.

My opinion is that it generates pointless clutter (this it would do even 
if a different keyword was used), and it can get confusing when switch 
and loop are mixed up.

I actually took your program and ported it to my syntax, as I was 
curious how it would look. This is the result:

https://github.com/bart-2026/langs/blob/main/lexertest.m

(It's been spaced out more, vertically.)

There were some tricky bits of the C to translate, such as:

                         break;
                     default:
                         break;
                     }
                 default:
                     *tp++ = ch;
                     break;
                 }
             }
             *tp++ = '\0';
             tt = TkSTRING;

where it seems to break from one switch then sneakily falls through into 
the default clauses of the enclosing one!

Well, here are some stats:

                         C         Mine

   Size                  3374      2997 characters (both with hard tabs)
   Non-blank lines       210        174 Lines


I did try and run mine:

   c:\mapps>test
   1234
   tok: tt = tkident, token = '1234'
   abc
   tok: tt = tkident, token = 'abc'

It shows both of these as an identifier. But yours does the same:

   c:\c>a
   1234
   tok: tt = 1003, token = '1234'
   abc
   tok: tt = 1003, token = 'abc'

Whatever '1003' means, it's showing the same. So it will do (I don't 
care if the code is buggy, just whether my version is reasonably faithful).

Of course, my actual lexers have a different structure.

[toc] | [prev] | [next] | [standalone]


#403192

Frombart <bc@freeuk.com>
Date2026-10-15 18:10 +0100
Message-ID<11ar1f5$2jod3$1@dont-email.me>
In reply to#403190
On 15/10/2026 15:57, bart wrote:
> On 15/10/2026 12:45, Dan Cross wrote:
>> In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
> 
>>> Perhaps that reused keyword thing is a bigger deal than you think. The
>>> effect of it is unnecessary obfuscation.
>>
>> This is certainly not evidence of that.  This is just your
>> assertion that you took a silly example and apparently (maybe?)
>> improved it, based on some unstated, but apparently subjective,
>> criteria.
> I am stating that 'break' used to fix C's poor 'switch' feature 
> interferes with 'break' used for loops.
> 
> It's not even my opinion: it's fact. In your example, about a third of 
> 'break' tokens are for taking care of switch.
> 
> My opinion is that it generates pointless clutter (this it would do even 
> if a different keyword was used), and it can get confusing when switch 
> and loop are mixed up.
> 
> I actually took your program and ported it to my syntax, as I was 
> curious how it would look. This is the result:
> 
> https://github.com/bart-2026/langs/blob/main/lexertest.m
> 
> (It's been spaced out more, vertically.)

> Well, here are some stats:

> I did try and run mine:
Enough worked that I decided to try a speed test. Both use exactly the 
same algorithm, and I didn't expect either to be fast.

Still, the version in my language/compiler was 50% faster than the C 
compiled with gcc-O3. I don't know why.

(My production lexers, even in my language so unoptimised, tend to be at 
least a magnitude faster and do more stuff such as symbol table lookups.)

[toc] | [prev] | [next] | [standalone]


#403203

Frombart <bc@freeuk.com>
Date2026-10-16 02:42 +0100
Message-ID<11arveu$2tq3v$1@dont-email.me>
In reply to#403192
On 15/10/2026 18:10, bart wrote:
> On 15/10/2026 15:57, bart wrote:
>> On 15/10/2026 12:45, Dan Cross wrote:
>>> In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>>
>>>> Perhaps that reused keyword thing is a bigger deal than you think. The
>>>> effect of it is unnecessary obfuscation.
>>>
>>> This is certainly not evidence of that.  This is just your
>>> assertion that you took a silly example and apparently (maybe?)
>>> improved it, based on some unstated, but apparently subjective,
>>> criteria.
>> I am stating that 'break' used to fix C's poor 'switch' feature 
>> interferes with 'break' used for loops.
>>
>> It's not even my opinion: it's fact. In your example, about a third of 
>> 'break' tokens are for taking care of switch.
>>
>> My opinion is that it generates pointless clutter (this it would do 
>> even if a different keyword was used), and it can get confusing when 
>> switch and loop are mixed up.
>>
>> I actually took your program and ported it to my syntax, as I was 
>> curious how it would look. This is the result:
>>
>> https://github.com/bart-2026/langs/blob/main/lexertest.m
>>
>> (It's been spaced out more, vertically.)
> 
>> Well, here are some stats:
> 
>> I did try and run mine:
> Enough worked that I decided to try a speed test. Both use exactly the 
> same algorithm, and I didn't expect either to be fast.
> 
> Still, the version in my language/compiler was 50% faster than the C 
> compiled with gcc-O3. I don't know why.
I'm mildly curious about this even if no one else is (or they think it 
is some sort of boasting although I said I didn't know the reason).

I've now converted DC's C program to use normal gotos, so that I can try 
with other compilers.

For my test (10M lines of the same 8 tokens):

   gcc 16.x  28 seconds   (any opt. level)
   gcc 14.x  18 seconds
   clang-O3  18 seconds
   tcc       18 seconds
   bcc       18 seconds
   mm        18 seconds   (my lang)

Figures are pretty much at those two levels.

So it's more likely a library thing and it is i/o bound.

Anyway, I'm done with all this now; my C compiler and related apps are 
no more.

[toc] | [prev] | [next] | [standalone]


#403195

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-15 20:42 +0000
Message-ID<11ardsd$26m$1@reader2.panix.com>
In reply to#403190
In article <11aqpl3$2gdup$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>On 15/10/2026 12:45, Dan Cross wrote:
>> In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>
>>> Perhaps that reused keyword thing is a bigger deal than you think. The
>>> effect of it is unnecessary obfuscation.
>> 
>> This is certainly not evidence of that.  This is just your
>> assertion that you took a silly example and apparently (maybe?)
>> improved it, based on some unstated, but apparently subjective,
>> criteria.
>
>I am stating that 'break' used to fix C's poor 'switch' feature 
>interferes with 'break' used for loops.

Sure.

>It's not even my opinion: it's fact. In your example, about a third of 
>'break' tokens are for taking care of switch.

Ok.

>My opinion is that it generates pointless clutter (this it would do even 
>if a different keyword was used), and it can get confusing when switch 
>and loop are mixed up.

Ok.

>I actually took your program and ported it to my syntax, as I was 
>curious how it would look. This is the result:
>
>https://github.com/bart-2026/langs/blob/main/lexertest.m
>
>(It's been spaced out more, vertically.)
>
>There were some tricky bits of the C to translate, such as:
>
>                         break;
>                     default:
>                         break;
>                     }
>                 default:
>                     *tp++ = ch;
>                     break;
>                 }
>             }
>             *tp++ = '\0';
>             tt = TkSTRING;
>
>where it seems to break from one switch then sneakily falls through into 
>the default clauses of the enclosing one!

Yup.

>Well, here are some stats:
>
>                         C         Mine
>
>   Size                  3374      2997 characters (both with hard tabs)
>   Non-blank lines       210        174 Lines

Those seem like pretty meaningless statistics.  I could really
care less about 377 fewer bytes.  Naturally, different languages
will express these things differently.

>I did try and run mine:
>
>   c:\mapps>test
>   1234
>   tok: tt = tkident, token = '1234'
>   abc
>   tok: tt = tkident, token = 'abc'
>
>It shows both of these as an identifier. But yours does the same:
>
>   c:\c>a
>   1234
>   tok: tt = 1003, token = '1234'
>   abc
>   tok: tt = 1003, token = 'abc'

Yup.  It's a poorly written program; I am not surprised there
are bugs.  It wasn't meant to be an illustration of exemplary
programming, it was meant to illustrate a use case for a
language construct that addresses a use case you appeared to
want support for, but that are now upset about, because it was
not provided in the way you like.  Or something.

>Whatever '1003' means, it's showing the same. So it will do (I don't 
>care if the code is buggy, just whether my version is reasonably faithful).

This is actually a good example of the problem you often run
into in these endless c.l.c threads: You seem to take a thing
that was something that was only meant to show one thing, and
asserting that it represents something other than what it was
meant to show, and no matter how many times it is explained to
you that it is not, in fact, what you seem to think that it is,
you persist in your delusion and think that it proves something.
But it doesn't, since you are starting from a false premise, at
which point you whine that you are picked on, treated poorly,
misunderstood, or generally dismissed, to which you conclude
that this can only be due to a slavish devotion to C as it is,
and a refusal to entertain that the language is not perfect.  It
is totally lost on you that people may be objecting to what you
are saying on its own merits, since (ironically) you don't seem
able to admit that your own ideas may have their own
deficiencies.

This whole discussion could be summarized as:

Bart:  "C sucks because Dennis Ritchie stupidly reused `break`
        for both loops and switch.  He was a tasteless fool."
All:   "You can work around that really easily."
Keith: "C added labeled break and continue...."
Bart:  "C sucks.  My language is better.  Here, I fixed C in 4
        lines of code with my `breakloop`, but it still sucks
        because C is hopeless."
Me:    "No, the real problem is that there's no structured way
        break out of nested contexts; your thing only addresses
        one special case, and does not compose, so can't cover
        the general case."
Bart:  "No, it's the overloading.  C is terrible and you're all
        just too blind to see it.  You are all fools, like
        Dennis Ritchie."
Me:    "I mean, Keith told you how the language is being changed
        to address your problem _and_ the other problems in this
        general category."
Bart:  "Those other problems don't matter.  C will never change.
        It will suck forever.  I mean, have you ever even seen a
        use case for these labeled blocks?  I don't like them,
        therefore they suck, just like C.  They also suck
        because they solve a problem I don't care about.  I have
        been doing this for 45 years."
Me:    "Here's a program that illustrates the problem.  The code
        is shit, but shows how it can be used...."
Bart:  "This program sucks!  You don't _need_ to do it this
        way."
Me:    "...I mean, I told you it sucked when I posted it...."
Bart:  "...I rewrote it in my language.  I saved 377 bytes.  See
        how much C sucks now?  My language is better.
Me:    "...."
Bart:  "My lexer is 50% faster than your lexer.  My production
        code is an order of magnitude faster.  I am a very smart
	boy, and deserve a very special gold star on my report
        card."
Me:    "...Bruh."
Bart:  "Dennis Ritchie was a fool.  A fool, I say!  Haha!
        Ahahaha! Muwhahaha!"

>Of course, my actual lexers have a different structure.

If I actually wanted a real lexer for C, I'd probably use a
lexer generator to generate one from a declarative description
of the language's lexemes.

Now then.  Did you see how it used labeled break and continue to
move about through the various control structures in ways that
would not be representable if you only had `breakloop`?  Yes, of
course you can restructure the code, but that's not the point;
the point was only to show how one might use labeled loops and
switches and so on to implement control flows that one cannot
express _without_ such facil

The irony is that you are saying, in effect, "oh but you don't
actually _need_ to do it that way..." to something you don't
care for, when throughout the thread you have been specifically
rejecting that same argument as a response your assertion that
something that addressed this very use case was badly needed, to
fix Dennis Ritchie's "mistake" of using `break` for both loops
and `switch`.  Seriously.  The stunning lack of self-awareness
is really quite breathtaking.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403197

FromMichael S <already5chosen@yahoo.com>
Date2026-10-15 23:57 +0300
Message-ID<20261015235752.00002222@yahoo.com>
In reply to#403195
On Thu, 15 Oct 2026 20:42:53 -0000 (UTC)
cross@spitfire.i.gajendra.net (Dan Cross) wrote:

> In article <11aqpl3$2gdup$1@dont-email.me>, bart  <bc@freeuk.com>
> wrote:
> >On 15/10/2026 12:45, Dan Cross wrote:  
> >> In article <11aqbqv$2avn3$1@dont-email.me>, bart  <bc@freeuk.com>
> >> wrote:  
> >  
> >>> Perhaps that reused keyword thing is a bigger deal than you
> >>> think. The effect of it is unnecessary obfuscation.  
> >> 
> >> This is certainly not evidence of that.  This is just your
> >> assertion that you took a silly example and apparently (maybe?)
> >> improved it, based on some unstated, but apparently subjective,
> >> criteria.  
> >
> >I am stating that 'break' used to fix C's poor 'switch' feature 
> >interferes with 'break' used for loops.  
> 
> Sure.
> 
> >It's not even my opinion: it's fact. In your example, about a third
> >of 'break' tokens are for taking care of switch.  
> 
> Ok.
> 
> >My opinion is that it generates pointless clutter (this it would do
> >even if a different keyword was used), and it can get confusing when
> >switch and loop are mixed up.  
> 
> Ok.
> 
> >I actually took your program and ported it to my syntax, as I was 
> >curious how it would look. This is the result:
> >
> >https://github.com/bart-2026/langs/blob/main/lexertest.m
> >
> >(It's been spaced out more, vertically.)
> >
> >There were some tricky bits of the C to translate, such as:
> >
> >                         break;
> >                     default:
> >                         break;
> >                     }
> >                 default:
> >                     *tp++ = ch;
> >                     break;
> >                 }
> >             }
> >             *tp++ = '\0';
> >             tt = TkSTRING;
> >
> >where it seems to break from one switch then sneakily falls through
> >into the default clauses of the enclosing one!  
> 
> Yup.
> 
> >Well, here are some stats:
> >
> >                         C         Mine
> >
> >   Size                  3374      2997 characters (both with hard
> > tabs) Non-blank lines       210        174 Lines  
> 
> Those seem like pretty meaningless statistics.  I could really
> care less about 377 fewer bytes.  Naturally, different languages
> will express these things differently.
> 
> >I did try and run mine:
> >  
> >   c:\mapps>test  
> >   1234
> >   tok: tt = tkident, token = '1234'
> >   abc
> >   tok: tt = tkident, token = 'abc'
> >
> >It shows both of these as an identifier. But yours does the same:
> >  
> >   c:\c>a  
> >   1234
> >   tok: tt = 1003, token = '1234'
> >   abc
> >   tok: tt = 1003, token = 'abc'  
> 
> Yup.  It's a poorly written program; I am not surprised there
> are bugs.  It wasn't meant to be an illustration of exemplary
> programming, it was meant to illustrate a use case for a
> language construct that addresses a use case you appeared to
> want support for, but that are now upset about, because it was
> not provided in the way you like.  Or something.
> 
> >Whatever '1003' means, it's showing the same. So it will do (I don't 
> >care if the code is buggy, just whether my version is reasonably
> >faithful).  
> 
> This is actually a good example of the problem you often run
> into in these endless c.l.c threads: You seem to take a thing
> that was something that was only meant to show one thing, and
> asserting that it represents something other than what it was
> meant to show, and no matter how many times it is explained to
> you that it is not, in fact, what you seem to think that it is,
> you persist in your delusion and think that it proves something.
> But it doesn't, since you are starting from a false premise, at
> which point you whine that you are picked on, treated poorly,
> misunderstood, or generally dismissed, to which you conclude
> that this can only be due to a slavish devotion to C as it is,
> and a refusal to entertain that the language is not perfect.  It
> is totally lost on you that people may be objecting to what you
> are saying on its own merits, since (ironically) you don't seem
> able to admit that your own ideas may have their own
> deficiencies.
> 
> This whole discussion could be summarized as:
> 
> Bart:  "C sucks because Dennis Ritchie stupidly reused `break`
>         for both loops and switch.  He was a tasteless fool."
> All:   "You can work around that really easily."
> Keith: "C added labeled break and continue...."
> Bart:  "C sucks.  My language is better.  Here, I fixed C in 4
>         lines of code with my `breakloop`, but it still sucks
>         because C is hopeless."
> Me:    "No, the real problem is that there's no structured way
>         break out of nested contexts; your thing only addresses
>         one special case, and does not compose, so can't cover
>         the general case."
> Bart:  "No, it's the overloading.  C is terrible and you're all
>         just too blind to see it.  You are all fools, like
>         Dennis Ritchie."
> Me:    "I mean, Keith told you how the language is being changed
>         to address your problem _and_ the other problems in this
>         general category."
> Bart:  "Those other problems don't matter.  C will never change.
>         It will suck forever.  I mean, have you ever even seen a
>         use case for these labeled blocks?  I don't like them,
>         therefore they suck, just like C.  They also suck
>         because they solve a problem I don't care about.  I have
>         been doing this for 45 years."
> Me:    "Here's a program that illustrates the problem.  The code
>         is shit, but shows how it can be used...."
> Bart:  "This program sucks!  You don't _need_ to do it this
>         way."
> Me:    "...I mean, I told you it sucked when I posted it...."
> Bart:  "...I rewrote it in my language.  I saved 377 bytes.  See
>         how much C sucks now?  My language is better.
> Me:    "...."
> Bart:  "My lexer is 50% faster than your lexer.  My production
>         code is an order of magnitude faster.  I am a very smart
> 	boy, and deserve a very special gold star on my report
>         card."
> Me:    "...Bruh."
> Bart:  "Dennis Ritchie was a fool.  A fool, I say!  Haha!
>         Ahahaha! Muwhahaha!"
> 

So, you don't like Donald Trump. Most people that read comp.os.vms
already knew it.
But why do you make bart responsible for that?

[toc] | [prev] | [next] | [standalone]


#403199

Frombart <bc@freeuk.com>
Date2026-10-15 23:22 +0100
Message-ID<11arjmc$2qid7$1@dont-email.me>
In reply to#403195
On 15/10/2026 21:42, Dan Cross wrote:
> In article <11aqpl3$2gdup$1@dont-email.me>, bart  <bc@freeuk.com> wrote:

> Those seem like pretty meaningless statistics.
> Naturally, different languages will express these things differently.

My syntax has cleaner and simpler syntax compared to C, and handles 
features like 'switch' more ergonomically. In this case, C had a 20% 
higher line count - fact.

But it seems people don't value cleaner, more productive syntax when it 
it comes to 'serious' languages, only scripting ones. OK; your loss.

> This whole discussion could be summarized as:
> 
> Bart:  "C sucks because Dennis Ritchie stupidly reused `break`
>          for both loops and switch.  He was a tasteless fool."
> All:   "You can work around that really easily."
> Keith: "C added labeled break and continue...."
> Bart:  "C sucks.  My language is better.  Here, I fixed C in 4
>          lines of code with my `breakloop`, but it still sucks
>          because C is hopeless."
> Me:    "No, the real problem is that there's no structured way
>          break out of nested contexts; your thing only addresses
>          one special case, and does not compose, so can't cover
>          the general case."
> Bart:  "No, it's the overloading.  C is terrible and you're all
>          just too blind to see it.  You are all fools, like
>          Dennis Ritchie."
> Me:    "I mean, Keith told you how the language is being changed
>          to address your problem _and_ the other problems in this
>          general category."
> Bart:  "Those other problems don't matter.  C will never change.
>          It will suck forever.  I mean, have you ever even seen a
>          use case for these labeled blocks?  I don't like them,
>          therefore they suck, just like C.  They also suck
>          because they solve a problem I don't care about.  I have
>          been doing this for 45 years."
> Me:    "Here's a program that illustrates the problem.  The code
>          is shit, but shows how it can be used...."
> Bart:  "This program sucks!  You don't _need_ to do it this
>          way."
> Me:    "...I mean, I told you it sucked when I posted it...."
> Bart:  "...I rewrote it in my language.  I saved 377 bytes.  See
>          how much C sucks now?  My language is better.
> Me:    "...."
> Bart:  "My lexer is 50% faster than your lexer.  My production
>          code is an order of magnitude faster.  I am a very smart
> 	boy, and deserve a very special gold star on my report
>          card."
> Me:    "...Bruh."



You know, I could well be right about all those points. Maybe my 
language that has been around for 45 years really is a sweeter, cleaner 
'C' which has solved most of the latter's quirks.

And maybe other people's responses to that is just sour grapes.

However one of interests is PL design - specifically at this level - and 
how C gets it so wrong, how people defend it so much, how it evolves so 
glacially, how much fixing its shortcomings is offloaded to tools, is 
fascinating.

It would have been nice to have a more objective discussion about such 
aspects, with people not afraid to be a LOT more critical of C and its 
tools that they have been.

But I guess this is the wrong forum for that.



 > Bart:  "Dennis Ritchie was a fool.  A fool, I say!  Haha!> 
Ahahaha! Muwhahaha!"

Simplest kind of function pointer:

Bart:       ref proc
DMR:        void(*)(void)

Simplest function pointer variable:

Bart:       ref proc abc
DMR:        void(*abc)(void);

Two such variables:

Bart:       ref proc one, two
DMR         void (*one)(void), (*two)void;     // I think

Two variables each an array 10 of such pointers:

Bart:       [10]ref proc one, two
DMR:        No fucking clue mate...

(Apparently it would be this, according to a tool which transpiles to C:

             void (*one[10])(void), (*two[10])(void);

Fucking hell. Actually I didn't call DMR a fool. I did mention a 
'numskull' which I now withdraw; I prefer to criticise ideas not people. 
But this is a disaster.)

[toc] | [prev] | [next] | [standalone]


#403213

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-16 12:40 +0000
Message-ID<11at5vi$5vu$1@reader2.panix.com>
In reply to#403199
In article <11arjmc$2qid7$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>...
>My syntax has cleaner and simpler syntax compared to C,...

I'm sure you meant to say, "my language has...".

>But it seems people don't value cleaner, more productive syntax when it 
>it comes to 'serious' languages, only scripting ones....
>
>[snip]
>>You know, I could well be right about all those points. Maybe my 
>language that has been around for 45 years really is a sweeter, cleaner 
>'C' which has solved most of the latter's quirks.
>
>And maybe other people's responses to that is just sour grapes.
>
>However one of interests is PL design - specifically at this level - and 
>how C gets it so wrong, how people defend it so much, how it evolves so 
>glacially, how much fixing its shortcomings is offloaded to tools, is 
>fascinating.
>
>It would have been nice to have a more objective discussion about such 
>aspects, with people not afraid to be a LOT more critical of C and its 
>tools that they have been.
>
>But I guess this is the wrong forum for that.

I think objective discussions of C are appropriate for
comp.lang.c.  Your description is not objective.  For example,
you claim that "people don't value cleaner, more productive
syntax...".  But those are subjective criteria.  Has it truly
never occurred to you that many other people just don't consider
your syntax significantly cleaner, or more productive?

I'm sure your language is very nice.  I recall looking at it at
one point and thinking it was fine, though I saw nothing
particularly special about it that would motivate me to want to
give up the considerable network advantages of using a more
common language.

You really think that's just sour grapes?  That everyone else is
just, what...mad at you because they feel the need to defend C's
honor or something?  C isn't a member of my family.  You're not
insulting my ancestry by pointing out flaws in it.  I'm not
going to get personally upset about its imperfections.

Perhaps people dismiss what you say because, despite your
self-aggrandizing words, you've shown that you don't actually
know C very well, and that you either do not care about, or
misunderstand, basic aspects of the language.  By your own
admission you ignore in the standards documents.  It is hard to
take the criticism of someone who doesn't understand what they
are criticizing very seriously, and subjectivity aside, relative
statements about the superiority of your language with respect
to a language you yourself don't know very well are similarly
difficult to take seriously.

> > Bart:  "Dennis Ritchie was a fool.  A fool, I say!  Haha!> 
>Ahahaha! Muwhahaha!"
>
>Simplest kind of function pointer:
>
> [snip; don't care]
>
>(Apparently it would be this, according to a tool which transpiles to C:
>
>             void (*one[10])(void), (*two[10])(void);

Yes, that's right.

>Fucking hell. Actually I didn't call DMR a fool. I did mention a 
>'numskull' which I now withdraw; I prefer to criticise ideas not people. 
>But this is a disaster.)

For someone who claims to want to discuss C objectively, you
sure do make a lot of subjective statements.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403228

Frombart <bc@freeuk.com>
Date2026-10-17 00:01 +0100
Message-ID<11auad0$3no1k$1@dont-email.me>
In reply to#403213
On 16/10/2026 13:40, Dan Cross wrote:
> In article <11arjmc$2qid7$1@dont-email.me>, bart  <bc@freeuk.com> wrote:

>  Has it truly
> never occurred to you that many other people just don't consider
> your syntax significantly cleaner, or more productive?
So why is this style of syntax popular within scripting languages? (Lua, 
Julia, Ruby...)

Those are considered more productive.

> Perhaps people dismiss what you say because, despite your
> self-aggrandizing words, you've shown that you don't actually
> know C very well,

See the type syntax example below. How well do you need to know a 
language to see that that is just effing crazy? This is supposed to be a 
HLL, not a puzzle that needs to be solved or decoded via algorithms or 
employing tools!

> For someone who claims to want to discuss C objectively, you
> sure do make a lot of subjective statements.

Concerning type declaration syntax, lots of people including the C 
creators agree that it was misguided.

If lots of people agree, is that still being subjective? This is the 
example I think used in K&R:

  char *(*(**foo [][8])())[];

Most would consider this gobbledygook even if you know the rules. It is 
atrocious syntax. And what's 'foo' doing in the middle of it!

I think being defensive about it is being subjective, as you demonstrate 
here:

 >> [snip; don't care]

That is pretty much the attitude here in a nutshell.

What's often stated also is how successful C has been, but that doesn't 
magically make the syntax wonderful.

If DMR had instead produced a language that looked like mine (say like 
one of the Algols), and I came along in 2026 and proposed a syntax that 
looked like the above, what do you think the response would be?

I would rightly be laughed out of the forum.

So being 'objective' means disregarding history and widespread adoption. 
The latter doesn't make the language better, just more tolerated, with 
more effort put into tools to make it practical to use (with a nice 
sideline in teaching all its ins and outs).

Anyway, to me, pretty much the whole of C looked as badly and crudely 
put together as that, when I first came across it in 1982. My background 
had been with quite different languages.

[toc] | [prev] | [next] | [standalone]


#403230

FromKeith Thompson <Keith.S.Thompson+u@gmail.com>
Date2026-10-16 16:53 -0700
Message-ID<11audde$3oci5$1@kst.eternal-september.org>
In reply to#403228
bart <bc@freeuk.com> writes:
[...]
> What's often stated also is how successful C has been, but that
> doesn't magically make the syntax wonderful.

NOBODY THINKS C'S SYNTAX IS WONDERFUL.

We surrender.  You win.  Stop fighting.

[...]

-- 
Keith Thompson (The_Other_Keith) Keith.S.Thompson+u@gmail.com
void Void(void) { Void(); } /* The recursive call of the void */

[toc] | [prev] | [next] | [standalone]


#403232

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-17 03:19 +0000
Message-ID<11aupfl$3ul$1@reader2.panix.com>
In reply to#403228
In article <11auad0$3no1k$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>On 16/10/2026 13:40, Dan Cross wrote:
>> In article <11arjmc$2qid7$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>
>>  Has it truly
>> never occurred to you that many other people just don't consider
>> your syntax significantly cleaner, or more productive?
>
>So why is this style of syntax popular within scripting languages? (Lua, 
>Julia, Ruby...)
>
>Those are considered more productive.

...and you think that's because of the syntax, and not the high
level nature of those languages?

Wow.

>> Perhaps people dismiss what you say because, despite your
>> self-aggrandizing words, you've shown that you don't actually
>> know C very well,
>
>See the type syntax example below. How well do you need to know a 
>language to see that that is just effing crazy? This is supposed to be a 
>HLL, not a puzzle that needs to be solved or decoded via algorithms or 
>employing tools!

Yes, the syntax is pretty gnarly; Dennis Ritchie even said as
much.  Fixed in Go and Rust, but also, I doubt you've ever in
your life had a variable of type array of array of length 8 of
a pointer to a pointer to a function returning an array of
pointers to char.  Finding the most ridiculous example you can
is not really evidence of anything besides your weird obsession
with finding abstruse corner cases and holding them up as
reasons to dislike C.

>> For someone who claims to want to discuss C objectively, you
>> sure do make a lot of subjective statements.
>
>Concerning type declaration syntax, lots of people including the C 
>creators agree that it was misguided.

Yup.  But stupid examples are just stupid.

>If lots of people agree, is that still being subjective? This is the 
>example I think used in K&R:
>
>  char *(*(**foo [][8])())[];
>
>Most would consider this gobbledygook even if you know the rules. It is 
>atrocious syntax. And what's 'foo' doing in the middle of it!

Yup.  That's awful.

>I think being defensive about it is being subjective, as you demonstrate 
>here:
>
> >> [snip; don't care]

I fail to see how me not caring about your silly examples is
being defensive about C.  It says nothing about what I think
about C one way or the other; it only says I think your
arguments are poorly grounded.

>That is pretty much the attitude here in a nutshell.
>
>What's often stated also is how successful C has been, but that doesn't 
>magically make the syntax wonderful.

No one is claiming that C's popularity implies it's a "good"
language, however you'd like to define that.  There are useful
properties that come with using it, including a large ecosystem
of libraries and tools, huge number of programmers who know it,
lots of high-quality references, and so on.  But again, that
doesn't mean that C is good, just that we can leverage it's
popularity _usefully_.

>If DMR had instead produced a language that looked like mine (say like 
>one of the Algols), and I came along in 2026 and proposed a syntax that 
>looked like the above, what do you think the response would be?

But he didn't, and you didn't, so this is a meaningless
historical, "what if?"

>I would rightly be laughed out of the forum.

Bruh...I hate to break it to you, but....

>So being 'objective' means disregarding history and widespread adoption. 

Well, no...both of those are factors in choosing a language or
not.  We can discuss the semantics of the language, it's syntax,
etc; but we can also discuss tooling, engineering resources
availability (can you find programmers who know C?  More like,
can you find programmers who _don't_ know C, amirite?), library
and platform support, and so on.

>The latter doesn't make the language better, just more tolerated, with 
>more effort put into tools to make it practical to use (with a nice 
>sideline in teaching all its ins and outs).

This I can almost get behind, but you miss the forest for the
trees.  All those resources?  They exist; we can leverage them.
For BartLang?  Not so much.

Is C a good language?  Meh, it's not the worst, but far from the
best I've seen.  Was it a bad language in 1972, when it was
targeting a PDP-11/20?  No, it was pretty decent for that era.
Did it do all the stuff that fancy languages with advanced
compilers that ran on big machines could do?  No.  Did it need
to?  Also no.

>Anyway, to me, pretty much the whole of C looked as badly and crudely 
>put together as that, when I first came across it in 1982. My background 
>had been with quite different languages.

Yup.  Good for you.  So why do you keep posting here?

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403187

FromTim Rentsch <tr.17687@z991.linuxsc.com>
Date2026-10-15 05:17 -0700
Message-ID<86bj8vqhtl.fsf@linuxsc.com>
In reply to#403173
cross@spitfire.i.gajendra.net (Dan Cross) writes:

> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>
>> On 14/10/2026 20:30, Dan Cross wrote:
>> [snip more of the same already hashed and rehashed ad naseum]
>>
>> As for multiple nested loops, this will fix that too, that's great.  We
>> just require some real examples of that being needed!
>
> Here's a pretty terrible way to write part of a lexical
> analyzer.  I just typed this in an hour or so ago.
>
> [200+ lines of code]

This code provides an excellent example of why multi-level breaks
should not be added to C.  The code would be easier to understand
if all the 'break <label>;' lines were replaced with one of 'goto
TOKEN_COMPLETE;'  or 'goto COMMENT_COMPLETE;', as appropriate,
and with the loop labels being removed and the two new labels put
in at the appropriate places.

[toc] | [prev] | [next] | [standalone]


#403189

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-15 14:37 +0000
Message-ID<11aqoep$82u$1@reader2.panix.com>
In reply to#403187
In article <86bj8vqhtl.fsf@linuxsc.com>,
Tim Rentsch  <tr.17687@z991.linuxsc.com> wrote:
>cross@spitfire.i.gajendra.net (Dan Cross) writes:
>
>> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>>
>>> On 14/10/2026 20:30, Dan Cross wrote:
>>> [snip more of the same already hashed and rehashed ad naseum]
>>>
>>> As for multiple nested loops, this will fix that too, that's great.  We
>>> just require some real examples of that being needed!
>>
>> Here's a pretty terrible way to write part of a lexical
>> analyzer.  I just typed this in an hour or so ago.
>>
>> [200+ lines of code]
>
>This code provides an excellent example of why multi-level breaks
>should not be added to C.

It is probably true that this snippet is a good example of how
labeled break/continue can be abused.  The code is awful.

However, the current C2y draft standard already has labeled
break and continue; the probability that it won't make it into
the next standard revision is low.

Moreover, other languages have had it for years (in some cases,
decades) at this point and the sky has not fallen.  One bad
example, meant only to illustrate a couple of use cases, should
not be used as evidence either way to draw a general conclusion
about, well, anything.

>The code would be easier to understand
>if all the 'break <label>;' lines were replaced with one of 'goto
>TOKEN_COMPLETE;'  or 'goto COMMENT_COMPLETE;', as appropriate,
>and with the loop labels being removed and the two new labels put
>in at the appropriate places.

Whenever one says that, "the code would be easier to understand"
one is necessarily making a subjective judgement.

In this case, _I_ think that code would be far easier to
understand written in an entirely different way that didn't
reach for `goto` at all.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403193

FromJanis Papanagnou <janis_papanagnou+ng@hotmail.com>
Date2026-10-15 20:50 +0200
Message-ID<11ar7a6$206gg$1@dont-email.me>
In reply to#403189
On 2026-10-15 16:37, Dan Cross wrote:
> In article <86bj8vqhtl.fsf@linuxsc.com>,
> Tim Rentsch  <tr.17687@z991.linuxsc.com> wrote:
>> [...]
> 
> It is probably true that this snippet is a good example of how
> labeled break/continue can be abused.  [...]

Else-thread (in a reply to bart) you had already written:
 >
 > The point was to illustrate a contrived
 > example where one might break out of nested switch statements,
 > loops inside of switch, switch inside of loops, loops inside of
 > switch inside of loops, and so on.

In a newsgroup (also generally) where part of the audience isn't
interested in understanding the context and intention of such
examples it's "good" fodder for those to continue their campaign.

Of course your example with its intent were obvious and clear.
Your formerly posted explanations without code had already been
clear. (I.e., for those that were interested to understand the
point. For those that aren't, with every additional post, and
especially with lots of code, you just feed the... - campaigners.
Wasted time, IMO.)

Janis

> [...]

[toc] | [prev] | [next] | [standalone]


#403194

Frombart <bc@freeuk.com>
Date2026-10-15 19:59 +0100
Message-ID<11ar7rb$2mb01$1@dont-email.me>
In reply to#403187
On 15/10/2026 13:17, Tim Rentsch wrote:
> cross@spitfire.i.gajendra.net (Dan Cross) writes:
> 
>> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>>
>>> On 14/10/2026 20:30, Dan Cross wrote:
>>> [snip more of the same already hashed and rehashed ad naseum]
>>>
>>> As for multiple nested loops, this will fix that too, that's great.  We
>>> just require some real examples of that being needed!
>>
>> Here's a pretty terrible way to write part of a lexical
>> analyzer.  I just typed this in an hour or so ago.
>>
>> [200+ lines of code]
> 
> This code provides an excellent example of why multi-level breaks
> should not be added to C.

Actually most of those 'break-labels' are not multi-level breaks.

But they have to use that form because they are inside 'switch'.

(Unless you consider 'levels' to include switch statements as loops; I 
don't. I mean, there is a 'continue' in there too inside switch, which 
doesn't use the label. So how can that not be multi-level but 'break' is?)

It all goes back to that bad decision about 'break' that everyone is 
playing down.




>  The code would be easier to understand
> if all the 'break <label>;' lines were replaced with one of 'goto
> TOKEN_COMPLETE;'  or 'goto COMMENT_COMPLETE;', as appropriate,
> and with the loop labels being removed and the two new labels put
> in at the appropriate places.


Once you have to write /actual labels/, which aren't even in local scope 
within the loop, then 'break label' doesn't buy much over 'goto label':

   loop:
   while () {
       switch () {
       case x:
           break loop;
       }
   }

   while () {
       switch () {
       case x:
           goto loopend;
       }
   }
   loopend:

The latter will at least work with every compiler.

[toc] | [prev] | [next] | [standalone]


#403196

Fromcross@spitfire.i.gajendra.net (Dan Cross)
Date2026-10-15 20:49 +0000
Message-ID<11are89$peu$1@reader2.panix.com>
In reply to#403194
In article <11ar7rb$2mb01$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>On 15/10/2026 13:17, Tim Rentsch wrote:
>> cross@spitfire.i.gajendra.net (Dan Cross) writes:
>> 
>>> In article <11aoqa9$1rgda$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>>>
>>>> On 14/10/2026 20:30, Dan Cross wrote:
>>>> [snip more of the same already hashed and rehashed ad naseum]
>>>>
>>>> As for multiple nested loops, this will fix that too, that's great.  We
>>>> just require some real examples of that being needed!
>>>
>>> Here's a pretty terrible way to write part of a lexical
>>> analyzer.  I just typed this in an hour or so ago.
>>>
>>> [200+ lines of code]
>> 
>> This code provides an excellent example of why multi-level breaks
>> should not be added to C.
>
>Actually most of those 'break-labels' are not multi-level breaks.
>
>But they have to use that form because they are inside 'switch'.
>
>(Unless you consider 'levels' to include switch statements as loops; I 
>don't. I mean, there is a 'continue' in there too inside switch, which 
>doesn't use the label. So how can that not be multi-level but 'break' is?)
>
>It all goes back to that bad decision about 'break' that everyone is 
>playing down.
>
>>  The code would be easier to understand
>> if all the 'break <label>;' lines were replaced with one of 'goto
>> TOKEN_COMPLETE;'  or 'goto COMMENT_COMPLETE;', as appropriate,
>> and with the loop labels being removed and the two new labels put
>> in at the appropriate places.
>
>
>Once you have to write /actual labels/, which aren't even in local scope 
>within the loop, then 'break label' doesn't buy much over 'goto label':
>
>   loop:
>   while () {
>       switch () {
>       case x:
>           break loop;
>       }
>   }
>
>   while () {
>       switch () {
>       case x:
>           goto loopend;
>       }
>   }
>   loopend:
>
>The latter will at least work with every compiler.

I mentioned this already; labeled continue and labeled break
both consume only one label; `goto` would require two:

	outer:
	for (i = 0; i < n; i++)
	    for (j = 0; j < m; j++)
	        if (condx(i, j)) break outer;
		else if (condy(i, j)) continue outer;

vs:

	for (i = 0; i < n; i++) {
	    for (j = 0; j < m; j++)
	        if (condx(i, j)) goto outer_break;
		else if (condy(i, j)) goto outer_continue;
	
	outer_continue:
	}
	outer_break:

And so forth.

	- Dan C.

[toc] | [prev] | [next] | [standalone]


#403159

Frombart <bc@freeuk.com>
Date2026-10-14 18:51 +0100
Message-ID<11aoff0$1n82v$1@dont-email.me>
In reply to#403150
On 14/10/2026 13:38, Dan Cross wrote:
> In article <11anobe$1dt0e$1@dont-email.me>, bart  <bc@freeuk.com> wrote:

> Yes, I am aware that you will tell me that it is justified
> because that problem is actually the one worth solving, and the
> others are not; you needn't bother.  Simply put, I disagree that
> that one problem is sufficiently important to warrant its own
> solution, particularly when something more general is already
> known and available in the language (labeled break/continue).

I missed this bit.

Is labeled break now available in C?

If so, how would it be used here:


    while (1) {
        switch (x) {
        case y:
            Break;

where that Break is meant to quit the loop.

Remember that if DMR hadn't made that screw-up in 1972 it would simply 
have been as it is above with his choice of keyword in place of Break.

But I would be interested in trying out the new feature.

[toc] | [prev] | [next] | [standalone]


#403160

From"Peyton" <peyton@solacium.com>
Date2026-10-14 11:04 -0700
Message-ID<87zewgxip7.fsf@peyton-d>
In reply to#403159
bart <bc@freeuk.com> writes:

> On 14/10/2026 13:38, Dan Cross wrote:
>> In article <11anobe$1dt0e$1@dont-email.me>, bart  <bc@freeuk.com> wrote:
>
>> Yes, I am aware that you will tell me that it is justified
>> because that problem is actually the one worth solving, and the
>> others are not; you needn't bother.  Simply put, I disagree that
>> that one problem is sufficiently important to warrant its own
>> solution, particularly when something more general is already
>> known and available in the language (labeled break/continue).
>
> I missed this bit.
>
> Is labeled break now available in C?
>
> If so, how would it be used here:
>
>
>    while (1) {
>        switch (x) {
>        case y:
>            Break;
>
> where that Break is meant to quit the loop.
>
> Remember that if DMR hadn't made that screw-up in 1972 it would simply
> have been as it is above with his choice of keyword in place of Break.
>
> But I would be interested in trying out the new feature.
>
>
No it's definetely not supported yet. I am very much in support of it
though. Not sure when or if. In the meantime I guess you can use the
forbidden goto like so:

while(1) {
    switch(x) {
      case 1:
        doThing();
        break;
      case 2:
        goto exitLoop;
      default:
        break;
  }
}

exitLoop;
-- 

[toc] | [prev] | [next] | [standalone]


Page 13 of 16 — ← Prev page 1 … 11 12 [13] 14 15 16  Next page →

Back to top | Article view | comp.lang.c


csiph-web