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

Diff of /global/htags/php.l

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

revision 1.14 by shigio, Tue Jul 19 11:03:13 2005 UTC revision 1.15 by shigio, Tue Jul 19 12:00:20 2005 UTC
# Line 1  Line 1 
1  %{  %{
2  /*  /*
3   * Copyright (c) 2002, 2004 Tama Communications Corporation   * Copyright (c) 2002, 2004, 2005 Tama Communications Corporation
4   *   *
5   * This file is part of GNU GLOBAL.   * This file is part of GNU GLOBAL.
6   *   *
# Line 52  Line 52 
52    
53  #define YY_USER_ACTION DEFAULT_YY_USER_ACTION  #define YY_USER_ACTION DEFAULT_YY_USER_ACTION
54    
55    char end_of_here_document[IDENTLEN+1];
56    
57  %}  %}
58   /* Definitions */   /* Definitions */
59  H               0[Xx][0-9A-Fa-f]+  H               0[Xx][0-9A-Fa-f]+
# Line 64  ALPHA          [a-zA-Z_\x80-\xff] Line 66  ALPHA          [a-zA-Z_\x80-\xff]
66  ALPHANUM        [a-zA-Z_\x80-\xff0-9]  ALPHANUM        [a-zA-Z_\x80-\xff0-9]
67  WORD            {ALPHA}{ALPHANUM}*  WORD            {ALPHA}{ALPHANUM}*
68    
69  %start  PHP C_COMMENT CPP_COMMENT SHELL_COMMENT STRING LITERAL PREPROCESSOR_LINE  %start  PHP C_COMMENT CPP_COMMENT SHELL_COMMENT STRING LITERAL HEREDOCUMENT PREPROCESSOR_LINE
70  %option 8bit noyywrap noyy_top_state stack prefix="php_"  %option 8bit noyywrap noyy_top_state stack prefix="php_"
71  %%  %%
72   /* Start PHP */   /* Start PHP */
# Line 97  WORD           {ALPHA}{ALPHANUM}* Line 99  WORD           {ALPHA}{ALPHANUM}*
99  <LITERAL>\'     { ECHO; yy_pop_state(); }  <LITERAL>\'     { ECHO; yy_pop_state(); }
100  <LITERAL>\\.    { put_char(LEXTEXT[0]); put_char(LEXTEXT[1]); }  <LITERAL>\\.    { put_char(LEXTEXT[0]); put_char(LEXTEXT[1]); }
101    
102     /* Here document */
103    <PHP><<<{WORD} {
104                    put_string(LEXTEXT);
105                    /* extract word and save */
106                    if (LEXLENG - 3 > IDENTLEN)
107                            die("Too long name '%s'.", LEXTEXT + 3);
108                    strcpy(end_of_here_document, LEXTEXT + 3);
109                    yy_push_state(HEREDOCUMENT);
110            }
111    <HEREDOCUMENT>^{WORD} {
112                    ECHO;
113                    if (!strcmp(end_of_here_document, LEXTEXT))
114                            yy_pop_state();
115            }
116  <PHP>^[ \t]*include[ \t]*\( {  <PHP>^[ \t]*include[ \t]*\( {
117                  int c;                  int c;
118    

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

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