/[MITgcm]/mitgcm.org/devel/buildweb/code-browser/F90Mapper/VarDic.lex
ViewVC logotype

Annotation of /mitgcm.org/devel/buildweb/code-browser/F90Mapper/VarDic.lex

Parent Directory Parent Directory | Revision Log Revision Log | View Revision Graph Revision Graph


Revision 1.1 - (hide annotations) (download)
Fri Sep 20 19:47:31 2002 UTC (22 years, 9 months ago) by adcroft
Branch point for: Import, MAIN
Initial revision

1 adcroft 1.1 /* $Id: VarDic.lex,v 1.2 1997/03/22 20:58:46 cnh Exp $ */
2     /* Lex analyser to process variable database into HTML table */
3     %p 100000
4     %a 100000
5     %o 100000
6     %n 100000
7     %k 100000
8     %e 100000
9     %option noyywrap
10    
11     /* Matches variable names */
12     NAME [_a-zA-Z]+[_a-zA-Z0-9\./]*
13    
14     %{
15     #include <stdio.h>
16     #include <string.h>
17     #include "VarDic.tab.h"
18     #include "GLOBALS.h"
19    
20     /* DEBUGGING aids */
21     #define DP(a)
22     #define DP(a) (printf("\"%s\" (%d,%d)\n",a,Lno,Cno))
23     #define RETURN(a) return(a)
24     /* #define RETURN(a) printf("Token %d\n",a);return(a) */
25     %}
26     %%
27     ^#.* {DP("COMMENT");}
28     HREF {DP("HREF"); Cno=Cno+VarDicleng; RETURN(HREF);}
29     TEXT {DP("TEXT"); Cno=Cno+VarDicleng; RETURN(TEXT);}
30     UNITS {DP("UNITS"); Cno=Cno+VarDicleng; RETURN(UNITS);}
31     NOTES {DP("NOTES"); Cno=Cno+VarDicleng; RETURN(NOTES);}
32     {NAME} {DP("NAME"); Cno=Cno+VarDicleng;
33     VarDiclval.stringPtr=strdup(VarDictext);
34     RETURN(NAME);}
35     [ ] {DP("SPACE"); Cno=Cno+VarDicleng; }
36     \{ {DP("{"); Cno=Cno+VarDicleng; RETURN('{');}
37     \} {DP("}"); Cno=Cno+VarDicleng; RETURN('}');}
38     ; {DP(";"); Cno=Cno+VarDicleng; RETURN(';');}
39     = {DP("="); Cno=Cno+VarDicleng; RETURN('=');}
40    
41     \"([^\"\n\\\\"]|\\.)*\" {DP("STRING"); Cno=Cno+VarDicleng;
42     VarDiclval.stringPtr=strcopy(VarDictext+1);
43     VarDiclval.stringPtr[strlen(VarDiclval.stringPtr)-1]='\0';
44     RETURN(STRING);}
45    
46     \"([^\"\n\\\\"]|\\.)*$ {DP("UNTERMINATED STRING");
47     Cno=Cno+VarDicleng;
48     fprintf(stderr,
49     "Error: unterminated string. <%s> Line %d Column %d\n",
50     currentFile,Lno,Cno);
51     fprintf(stderr,"==> %s\n",VarDictext);
52     }
53    
54    
55     \n {DP("\\n");
56     ++Lno;Cno=1;
57     }
58    
59     . {DP("UNMATCHED");
60     Cno=Cno+VarDicleng;
61     }

  ViewVC Help
Powered by ViewVC 1.1.22