/[global]/global/htags/c.l
ViewVC logotype

Diff of /global/htags/c.l

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

revision 1.13 by h-iwamoto, Mon Oct 4 12:15:34 2004 UTC revision 1.14 by h-iwamoto, Sat Oct 9 06:15:06 2004 UTC
# Line 64  WORD           {ALPHA}{ALPHANUM}* Line 64  WORD           {ALPHA}{ALPHANUM}*
64  YACC_DIRECTIVE  %{ALPHA}({ALPHANUM}|-)*  YACC_DIRECTIVE  %{ALPHA}({ALPHANUM}|-)*
65  YACC_IDENTIFIER ({ALPHA}|\.)({ALPHANUM}|\.)*  YACC_IDENTIFIER ({ALPHA}|\.)({ALPHANUM}|\.)*
66    
67  %start  C C_COMMENT CPP_COMMENT SHELL_COMMENT STRING LITERAL PREPROCESSING_DIRECTIVE  %start  C C_COMMENT CPP_COMMENT SHELL_COMMENT STRING LITERAL PREPROCESSOR_LINE
68  %start  YACC_DECLARATIONS YACC_RULES YACC_PROLOGUE BRACED_CODE  %start  YACC_DECLARATIONS YACC_RULES YACC_PROLOGUE BRACED_CODE
69  %option 8bit noyywrap noyy_top_state stack prefix="c"  %option 8bit noyywrap noyy_top_state stack prefix="c"
70  %%  %%
# Line 72  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}| Line 72  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}|
72  \\\n            DEFAULT_BACKSLASH_NEWLINE_ACTION  \\\n            DEFAULT_BACKSLASH_NEWLINE_ACTION
73    
74   /* Comment */   /* Comment */
75  <C,PREPROCESSING_DIRECTIVE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{
76          "/*"    { echos(comment_begin); ECHO; yy_push_state(C_COMMENT); }          "/*"    { echos(comment_begin); ECHO; yy_push_state(C_COMMENT); }
77  }  }
78  <C_COMMENT>"*/" { ECHO; echos(comment_end); yy_pop_state(); }  <C_COMMENT>"*/" { ECHO; echos(comment_end); yy_pop_state(); }
# Line 82  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}| Line 82  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}|
82                          unexpected_eof(LINENO);                          unexpected_eof(LINENO);
83                  yyterminate();                  yyterminate();
84          }          }
85  <C,PREPROCESSING_DIRECTIVE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{
86          "//"    { echos(comment_begin); ECHO; yy_push_state(CPP_COMMENT); }          "//"    { echos(comment_begin); ECHO; yy_push_state(CPP_COMMENT); }
87  }  }
88    
89   /* String */   /* String */
90  <C,PREPROCESSING_DIRECTIVE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{
91          \"      { ECHO; yy_push_state(STRING); }          \"      { ECHO; yy_push_state(STRING); }
92  }  }
93  <STRING>\"      { ECHO; yy_pop_state(); }  <STRING>\"      { ECHO; yy_pop_state(); }
94  <STRING>\\.     { put_char(LEXTEXT[0]); put_char(LEXTEXT[1]); }  <STRING>\\.     { put_char(LEXTEXT[0]); put_char(LEXTEXT[1]); }
95    
96   /* Literal */   /* Literal */
97  <C,PREPROCESSING_DIRECTIVE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{
98          \'      { ECHO; yy_push_state(LITERAL); }          \'      { ECHO; yy_push_state(LITERAL); }
99  }  }
100  <LITERAL>\'     { ECHO; yy_pop_state(); }  <LITERAL>\'     { ECHO; yy_pop_state(); }
# Line 180  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}| Line 180  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}|
180                          if (wflag)                          if (wflag)
181                                  unknown_preprocessing_directive(p, LINENO);                                  unknown_preprocessing_directive(p, LINENO);
182                  }                  }
183                  yy_push_state(PREPROCESSING_DIRECTIVE);                  yy_push_state(PREPROCESSOR_LINE);
184          }          }
185          /* Null directive */          /* Null directive */
186          ^[ \t]*\#       { put_macro(LEXTEXT); }          ^[ \t]*\#       { put_macro(LEXTEXT); }
# Line 222  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}| Line 222  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}|
222                  yyterminate();                  yyterminate();
223          }          }
224    
225  <C,PREPROCESSING_DIRECTIVE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_DECLARATIONS,YACC_RULES,YACC_PROLOGUE,BRACED_CODE>{
226          {NUMBER}        ECHO;          {NUMBER}        ECHO;
227  }  }
228  <C,PREPROCESSING_DIRECTIVE,YACC_PROLOGUE,BRACED_CODE>{  <C,PREPROCESSOR_LINE,YACC_PROLOGUE,BRACED_CODE>{
229          {WORD} {          {WORD} {
230                  if (reserved_word(LEXTEXT, LEXLENG))                  if (reserved_word(LEXTEXT, LEXLENG))
231                          put_reserved_word(LEXTEXT);                          put_reserved_word(LEXTEXT);
232                  else if (YY_START == PREPROCESSING_DIRECTIVE                  else if (YY_START == PREPROCESSOR_LINE
233                      && (last_directive == SHARP_IF || last_directive == SHARP_ELIF)                      && (last_directive == SHARP_IF || last_directive == SHARP_ELIF)
234                      && strcmp(LEXTEXT, "defined") == 0)                      && strcmp(LEXTEXT, "defined") == 0)
235                          put_reserved_word(LEXTEXT);                          put_reserved_word(LEXTEXT);
# Line 244  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}| Line 244  YACC_IDENTIFIER        ({ALPHA}|\.)({ALPHANUM}|
244                  }                  }
245          }          }
246  }  }
247  <C,PREPROCESSING_DIRECTIVE,YACC_PROLOGUE>{  <C,PREPROCESSOR_LINE,YACC_PROLOGUE>{
248          [{}]    { put_brace(LEXTEXT); }          [{}]    { put_brace(LEXTEXT); }
249  }  }
250    

Legend:
Removed from v.1.13  
changed lines
  Added in v.1.14

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