1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
/**
 *  Copyright (c) 2015-2024 by Altair Engineering, Inc.
 *  All rights reserved.
 *
 *  Altair Engineering, Inc. makes this software available as part of the Vision
 *  tool platform.  As long as you are a licensee of the Vision tool platform
 *  you may make copies of the software and modify it to be used within the
 *  Vision tool platform, but you must include all of this notice on any copy.
 *  Redistribution without written permission to any third party, with or
 *  without modification, is not permitted.
 *  Altair Engineering, Inc. does not warrant that this software is error free
 *  or fit for any purpose.  Altair Engineering, Inc. disclaims any liability
 *  for all claims, expenses, losses, damages and costs any user may incur as a
 *  result of using, copying or modifying the software.
 */

%{
#include "ndlparse.tab.h"

/* ---------------------------------------------------------------------------
 * global variables
 * ---------------------------------------------------------------------------
 */
unsigned                Curline;        /* current line number in Curfile */

#define YY_SKIP_YYWRAP
static int ndlwrap() { return 1; }


%}

%option nounput
%option noinput

%%
COMPILE                 {       return T_COMPILE;               }
DESCRIPTION             {       return T_DESCRIPTION;           }
MODULE                  {       return T_MODULE;                }
OUTPUTS                 {       return T_OUTPUT;                }
INPUTS                  {       return T_INPUT;                 }
BIDIRECT                {       return T_INOUT;                 }
DEFINE                  {       return T_DEFINE;                }
END                     {       return T_END;                   }
[;,=()]                 {       return ndltext[0];              }
[a-zA-Z0-9_!@#\$%&\-\./?|:]+ {
                                ndllval.tok = ndltext;
                                return T_IDENTIFIER;            }
[ \t\f\r]+              {                                       }
\n                      {       Curline++;                      }
.                       {       return T_UNKNOWN;               }

%%