groff-commit
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[groff] 12/14: [grog]: Slightly refactor `do_line`.


From: G. Branden Robinson
Subject: [groff] 12/14: [grog]: Slightly refactor `do_line`.
Date: Mon, 28 Jun 2021 00:44:52 -0400 (EDT)

gbranden pushed a commit to branch master
in repository groff.

commit bb0c7bcf55795d81fd30afd1ad1715bca754a519
Author: G. Branden Robinson <g.branden.robinson@gmail.com>
AuthorDate: Sun Jun 27 20:24:54 2021 +1000

    [grog]: Slightly refactor `do_line`.
    
    * src/utils/grog/grog.pl (do_line): Stop saving the control character in
      the matched scalar `command` (the request or macro name).  We don't
      need it, and it simplifies much later matching.
---
 ChangeLog              |  5 ++-
 src/utils/grog/grog.pl | 89 +++++++++++++++++++++++++-------------------------
 2 files changed, 48 insertions(+), 46 deletions(-)

diff --git a/ChangeLog b/ChangeLog
index a076da3..8835fa0 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -2,7 +2,10 @@
 
        [grog]: Refactor.  Discard filename extension-based inference.
 
-       * src/utils/grog/grog.pl (handle_file_ext): Delete.
+       * src/utils/grog/grog.pl (do_line): Stop saving the control
+       character in the matched scalar `command` (the request or macro
+       name).  We don't need it, and it simplifies much later matching.
+       (handle_file_ext): Delete.
        (top level): Drop call site.
 
        * src/utils/grog/grog.pl: Rename `tmac_ext` scalar to
diff --git a/src/utils/grog/grog.pl b/src/utils/grog/grog.pl
index 012c176..f2a1e9a 100644
--- a/src/utils/grog/grog.pl
+++ b/src/utils/grog/grog.pl
@@ -440,7 +440,7 @@ sub do_line {
   }
 
   # split command
-  $line =~ /^(\.\w+)\s*(.*)$/;
+  $line =~ /^\.(\w+)\s*(.*)$/;
   my $command = $1;
   $command = '' unless ( defined $command );
   my $args = $2;
@@ -480,71 +480,70 @@ sub do_line {
   ######################################################################
   # preprocessors
 
-  if ( $command =~ /^(\.cstart)|(begin\s+chem)$/ ) {
+  if ( $command =~ /^(cstart)|(begin\s+chem)$/ ) {
     $Groff{'chem'}++;          # for chem
     return;
   }
-  if ( $command =~ /^\.EQ$/ ) {
+  if ( $command =~ /^EQ$/ ) {
     $Groff{'eqn'}++;           # for eqn
     return;
   }
-  if ( $command =~ /^\.G1$/ ) {
+  if ( $command =~ /^G1$/ ) {
     $Groff{'grap'}++;          # for grap
     return;
   }
-  if ( $command =~ /^\.Perl/ ) {
+  if ( $command =~ /^Perl/ ) {
     $Groff{'gperl'}++;         # for gperl
     return;
   }
-  if ( $command =~ /^\.pinyin/ ) {
+  if ( $command =~ /^pinyin/ ) {
     $Groff{'gpinyin'}++;               # for gperl
     return;
   }
-  if ( $command =~ /^\.GS$/ ) {
+  if ( $command =~ /^GS$/ ) {
     $Groff{'grn'}++;           # for grn
     return;
   }
-  if ( $command =~ /^\.IS$/ ) {
+  if ( $command =~ /^IS$/ ) {
     $Groff{'gideal'}++;                # preproc gideal for ideal
     return;
   }
-  if ( $command =~ /^\.lilypond$/ ) {
+  if ( $command =~ /^lilypond$/ ) {
     $Groff{'lilypond'}++;      # for glilypond
     return;
   }
 
-
   # pic is opened by .PS and can be closed by either .PE or .PF
-  if ( $command =~ /^\.PS$/ ) {
+  if ( $command =~ /^PS$/ ) {
     $Groff{'PS'}++;            # opening for pic
     return;
   }
-  if ( $command =~ /^\.PE$/ ) {
+  if ( $command =~ /^PE$/ ) {
     $Groff{'PE'}++;            # closing for pic
     return;
   }
-  if ( $command =~ /^\.PF$/ ) {
+  if ( $command =~ /^PF$/ ) {
     $Groff{'PF'}++;            # alternate closing for pic
     return;
   }
 
-  if ( $command =~ /^\.R1$/ ) {
+  if ( $command =~ /^R1$/ ) {
     $Groff{'refer'}++;         # for refer
     return;
   }
-  if ( $command =~ /^\.\[$/ ) {
+  if ( $command =~ /^\[$/ ) {
     $Groff{'refer_open'}++;    # for refer open
     return;
   }
-  if ( $command =~ /^\.\]$/ ) {
+  if ( $command =~ /^\]$/ ) {
     $Groff{'refer_close'}++;   # for refer close
     return;
   }
-  if ( $command =~ /^\.TS$/ ) {
+  if ( $command =~ /^TS$/ ) {
     $Groff{'tbl'}++;           # for tbl
     return;
   }
-  if ( $command =~ /^\.TH$/ ) {
+  if ( $command =~ /^TH$/ ) {
     unless ( $Groff{'TH_first'} ) {
       $Groff{'TH_later'}++;            # for tbl
     }
@@ -559,14 +558,14 @@ sub do_line {
   ##########
   # modern mdoc
 
-  if ( $command =~ /^\.(Dd)$/ ) {
+  if ( $command =~ /^(Dd)$/ ) {
     $Groff{'Dd'}++;            # for modern mdoc
     return;
   }
 
   # In the old version of -mdoc 'Oo' is a toggle, in the new it's
   # closed by 'Oc'.
-  if ( $command =~ /^\.Oc$/ ) {
+  if ( $command =~ /^Oc$/ ) {
     $Groff{'Oc'}++;            # only for modern mdoc
     return;
   }
@@ -575,7 +574,7 @@ sub do_line {
   ##########
   # old and modern mdoc
 
-  if ( $command =~ /^\.Oo$/ ) {
+  if ( $command =~ /^Oo$/ ) {
     $Groff{'Oo'}++;            # for mdoc and mdoc-old
     return;
   }
@@ -583,7 +582,7 @@ sub do_line {
 
   ##########
   # old mdoc
-  if ( $command =~ /^\.(Tp|Dp|De|Cx|Cl)$/ ) {
+  if ( $command =~ /^(Tp|Dp|De|Cx|Cl)$/ ) {
     $Groff{'mdoc_old'}++;      # true for old mdoc
     return;
   }
@@ -592,31 +591,31 @@ sub do_line {
   ##########
   # for ms
 
-  if ( $command =~ /^\.AB$/ ) {
+  if ( $command =~ /^AB$/ ) {
     $Groff{'AB'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.AE$/ ) {
+  if ( $command =~ /^AE$/ ) {
     $Groff{'AE'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.AI$/ ) {
+  if ( $command =~ /^AI$/ ) {
     $Groff{'AI'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.AU$/ ) {
+  if ( $command =~ /^AU$/ ) {
     $Groff{'AU'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.NH$/ ) {
+  if ( $command =~ /^NH$/ ) {
     $Groff{'NH'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.TL$/ ) {
+  if ( $command =~ /^TL$/ ) {
     $Groff{'TL'}++;            # for ms
     return;
   }
-  if ( $command =~ /^\.XP$/ ) {
+  if ( $command =~ /^XP$/ ) {
     $Groff{'XP'}++;            # for ms
     return;
   }
@@ -625,27 +624,27 @@ sub do_line {
   ##########
   # for man and ms
 
-  if ( $command =~ /^\.IP$/ ) {
+  if ( $command =~ /^IP$/ ) {
     $Groff{'IP'}++;            # for man and ms
     return;
   }
-  if ( $command =~ /^\.LP$/ ) {
+  if ( $command =~ /^LP$/ ) {
     $Groff{'LP'}++;            # for man and ms
     return;
   }
-  if ( $command =~ /^\.P$/ ) {
+  if ( $command =~ /^P$/ ) {
     $Groff{'P'}++;             # for man and ms
     return;
   }
-  if ( $command =~ /^\.PP$/ ) {
+  if ( $command =~ /^PP$/ ) {
     $Groff{'PP'}++;            # for man and ms
     return;
   }
-  if ( $command =~ /^\.SH$/ ) {
+  if ( $command =~ /^SH$/ ) {
     $Groff{'SH'}++;            # for man and ms
     return;
   }
-  if ( $command =~ /^\.UL$/ ) {
+  if ( $command =~ /^UL$/ ) {
     $Groff{'UL'}++;            # for man and ms
     return;
   }
@@ -654,27 +653,27 @@ sub do_line {
   ##########
   # for man only
 
-  if ( $command =~ /^\.OP$/ ) {        # for man
+  if ( $command =~ /^OP$/ ) {  # for man
     $Groff{'OP'}++;
     return;
   }
-  if ( $command =~ /^\.SS$/ ) {        # for man
+  if ( $command =~ /^SS$/ ) {  # for man
     $Groff{'SS'}++;
     return;
   }
-  if ( $command =~ /^\.SY$/ ) {        # for man
+  if ( $command =~ /^SY$/ ) {  # for man
     $Groff{'SY'}++;
     return;
   }
-  if ( $command =~ /^\.TP$/ ) {        # for man
+  if ( $command =~ /^TP$/ ) {  # for man
     $Groff{'TP'}++;
     return;
   }
-  if ( $command =~ /^\.UR$/ ) {
+  if ( $command =~ /^UR$/ ) {
     $Groff{'UR'}++;            # for man
     return;
   }
-  if ( $command =~ /^\.YS$/ ) {        # for man
+  if ( $command =~ /^YS$/ ) {  # for man
    $Groff{'YS'}++;
     return;
   }
@@ -683,7 +682,7 @@ sub do_line {
   ##########
   # me
 
-  if ( $command =~ /^\.(
+  if ( $command =~ /^(
                      [ilnp]p|
                      sh
                    )$/x ) {
@@ -695,7 +694,7 @@ sub do_line {
   #############
   # mm and mmse
 
-  if ( $command =~ /^\.(
+  if ( $command =~ /^(
                      H|
                      MULB|
                      LO|
@@ -706,11 +705,11 @@ sub do_line {
                      SA
                    )$/x ) {
     $Groff{'mm'}++;            # for mm and mmse
-    if ( $command =~ /^\.LO$/ ) {
+    if ( $command =~ /^LO$/ ) {
       if ( $args =~ /^(DNAMN|MDAT|BIL|KOMP|DBET|BET|SIDOR)/ ) {
        $Groff{'mmse'}++;       # for mmse
       }
-    } elsif ( $command =~ /^\.LT$/ ) {
+    } elsif ( $command =~ /^LT$/ ) {
       if ( $args =~ /^(SVV|SVH)/ ) {
        $Groff{'mmse'}++;       # for mmse
       }



reply via email to

[Prev in Thread] Current Thread [Next in Thread]