/[m4]/m4/m4/input.c
ViewVC logotype

Diff of /m4/m4/input.c

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 1.18 by akim, Sat Oct 13 08:56:48 2001 UTC revision 1.19 by akim, Thu Oct 18 21:27:36 2001 UTC
# Line 816  m4_syntax_init (void) Line 816  m4_syntax_init (void)
816  {  {
817    int ch;    int ch;
818    
819    for (ch = 256; --ch > 0; )    for (ch = 256; --ch > 0;)
820      {      {
821        if (ch == '(')        if (ch == '(')
822          set_syntax_internal(M4_SYNTAX_OPEN, ch);          set_syntax_internal (M4_SYNTAX_OPEN, ch);
823        else if (ch == ')')        else if (ch == ')')
824          set_syntax_internal(M4_SYNTAX_CLOSE, ch);          set_syntax_internal (M4_SYNTAX_CLOSE, ch);
825        else if (ch == ',')        else if (ch == ',')
826          set_syntax_internal(M4_SYNTAX_COMMA, ch);          set_syntax_internal (M4_SYNTAX_COMMA, ch);
827        else if (isspace(ch))        else if (isspace (ch))
828          set_syntax_internal(M4_SYNTAX_SPACE, ch);          set_syntax_internal (M4_SYNTAX_SPACE, ch);
829        else if (isalpha(ch) || ch == '_')        else if (isalpha (ch) || ch == '_')
830          set_syntax_internal(M4_SYNTAX_ALPHA, ch);          set_syntax_internal (M4_SYNTAX_ALPHA, ch);
831        else if (isdigit(ch))        else if (isdigit (ch))
832          set_syntax_internal(M4_SYNTAX_NUM, ch);          set_syntax_internal (M4_SYNTAX_NUM, ch);
833        else        else
834          set_syntax_internal(M4_SYNTAX_OTHER, ch);          set_syntax_internal (M4_SYNTAX_OTHER, ch);
835      }      }
836    /* set_syntax_internal(M4_SYNTAX_IGNORE, 0); */    /* set_syntax_internal(M4_SYNTAX_IGNORE, 0); */
837    
838    /* Default quotes and comment delimiters are always one char */    /* Default quotes and comment delimiters are always one char */
839    set_syntax_internal(M4_SYNTAX_LQUOTE, lquote.string[0]);    set_syntax_internal (M4_SYNTAX_LQUOTE, lquote.string[0]);
840    set_syntax_internal(M4_SYNTAX_RQUOTE, rquote.string[0]);    set_syntax_internal (M4_SYNTAX_RQUOTE, rquote.string[0]);
841    set_syntax_internal(M4_SYNTAX_BCOMM, bcomm.string[0]);    set_syntax_internal (M4_SYNTAX_BCOMM, bcomm.string[0]);
842    set_syntax_internal(M4_SYNTAX_ECOMM, ecomm.string[0]);    set_syntax_internal (M4_SYNTAX_ECOMM, ecomm.string[0]);
843  }  }
844    
845  int  int
# Line 882  check_use_macro_escape (void) Line 882  check_use_macro_escape (void)
882    
883    use_macro_escape = FALSE;    use_macro_escape = FALSE;
884    for (ch = 256; --ch >= 0; )    for (ch = 256; --ch >= 0; )
885      if (M4_IS_ESCAPE(ch))      if (M4_IS_ESCAPE (ch))
886        use_macro_escape = TRUE;        use_macro_escape = TRUE;
887  }  }
888    
# Line 895  void Line 895  void
895  m4_set_quotes (const char *lq, const char *rq)  m4_set_quotes (const char *lq, const char *rq)
896  {  {
897    int ch;    int ch;
898    for (ch = 256; --ch >= 0; )   /* changequote overrides syntax_table */    for (ch = 256; --ch >= 0;)    /* changequote overrides syntax_table */
899      if (M4_IS_LQUOTE(ch) || M4_IS_RQUOTE(ch))      if (M4_IS_LQUOTE (ch) || M4_IS_RQUOTE (ch))
900        unset_syntax_attribute(M4_SYNTAX_LQUOTE|M4_SYNTAX_RQUOTE, ch);        unset_syntax_attribute (M4_SYNTAX_LQUOTE | M4_SYNTAX_RQUOTE, ch);
901    
902    xfree (lquote.string);    xfree (lquote.string);
903    xfree (rquote.string);    xfree (rquote.string);
# Line 911  m4_set_quotes (const char *lq, const cha Line 911  m4_set_quotes (const char *lq, const cha
911    
912    if (single_quotes)    if (single_quotes)
913      {      {
914        set_syntax_internal(M4_SYNTAX_LQUOTE, lquote.string[0]);        set_syntax_internal (M4_SYNTAX_LQUOTE, lquote.string[0]);
915        set_syntax_internal(M4_SYNTAX_RQUOTE, rquote.string[0]);        set_syntax_internal (M4_SYNTAX_RQUOTE, rquote.string[0]);
916      }      }
917    
918    if (use_macro_escape)    if (use_macro_escape)
919      check_use_macro_escape();      check_use_macro_escape ();
920  }  }
921    
922  void  void
923  m4_set_comment (const char *bc, const char *ec)  m4_set_comment (const char *bc, const char *ec)
924  {  {
925    int ch;    int ch;
926    for (ch = 256; --ch >= 0; )   /* changecom overrides syntax_table */    for (ch = 256; --ch >= 0;)    /* changecom overrides syntax_table */
927      if (M4_IS_BCOMM(ch) || M4_IS_ECOMM(ch))      if (M4_IS_BCOMM (ch) || M4_IS_ECOMM (ch))
928        unset_syntax_attribute(M4_SYNTAX_BCOMM|M4_SYNTAX_ECOMM, ch);        unset_syntax_attribute (M4_SYNTAX_BCOMM | M4_SYNTAX_ECOMM, ch);
929    
930    xfree (bcomm.string);    xfree (bcomm.string);
931    xfree (ecomm.string);    xfree (ecomm.string);
# Line 939  m4_set_comment (const char *bc, const ch Line 939  m4_set_comment (const char *bc, const ch
939    
940    if (single_comments)    if (single_comments)
941      {      {
942        set_syntax_internal(M4_SYNTAX_BCOMM, bcomm.string[0]);        set_syntax_internal (M4_SYNTAX_BCOMM, bcomm.string[0]);
943        set_syntax_internal(M4_SYNTAX_ECOMM, ecomm.string[0]);        set_syntax_internal (M4_SYNTAX_ECOMM, ecomm.string[0]);
944      }      }
945    
946    if (use_macro_escape)    if (use_macro_escape)
947      check_use_macro_escape();      check_use_macro_escape ();
948  }  }
949    
950  /* Functions to manipulate the syntax table.  */  /* Functions to manipulate the syntax table.  */
# Line 1040  m4_next_token (m4_token *td) Line 1040  m4_next_token (m4_token *td)
1040          init_builtin_token (td);          init_builtin_token (td);
1041          (void) next_char ();          (void) next_char ();
1042  #ifdef DEBUG_INPUT  #ifdef DEBUG_INPUT
1043          print_token("next_token", M4_TOKEN_MACDEF, td);          print_token ("next_token", M4_TOKEN_MACDEF, td);
1044  #endif  #endif
1045          return M4_TOKEN_MACDEF;          return M4_TOKEN_MACDEF;
1046        }        }

Legend:
Removed from v.1.18  
changed lines
  Added in v.1.19

savannah-hackers-public@gnu.org
ViewVC Help
Powered by ViewVC 1.1.26