1 |
/* |
2 |
* Copyright (c) 2014-2019 Christian Schoenebeck |
3 |
* |
4 |
* http://www.linuxsampler.org |
5 |
* |
6 |
* This file is part of LinuxSampler and released under the same terms. |
7 |
* See README file for details. |
8 |
*/ |
9 |
|
10 |
// types shared between auto generated lexer and parser ... |
11 |
|
12 |
#ifndef LS_INSTRSCRIPTSPARSER_SHARED_H |
13 |
#define LS_INSTRSCRIPTSPARSER_SHARED_H |
14 |
|
15 |
#include <stdio.h> |
16 |
#include "tree.h" |
17 |
|
18 |
#if AC_APPLE_UNIVERSAL_BUILD |
19 |
# include "parser.tab.h" |
20 |
#else |
21 |
# include "parser.h" |
22 |
#endif |
23 |
|
24 |
#include "../common/global_private.h" |
25 |
|
26 |
struct _YYSTYPE { |
27 |
union { |
28 |
LinuxSampler::vmint iValue; |
29 |
LinuxSampler::vmfloat fValue; |
30 |
char* sValue; |
31 |
struct { |
32 |
LinuxSampler::vmint iValue; |
33 |
LinuxSampler::MetricPrefix_t prefix[2]; |
34 |
LinuxSampler::StdUnit_t unit; |
35 |
} iUnitValue; |
36 |
struct { |
37 |
LinuxSampler::vmfloat fValue; |
38 |
LinuxSampler::MetricPrefix_t prefix[2]; |
39 |
LinuxSampler::StdUnit_t unit; |
40 |
} fUnitValue; |
41 |
}; |
42 |
LinuxSampler::EventHandlersRef nEventHandlers; |
43 |
LinuxSampler::EventHandlerRef nEventHandler; |
44 |
LinuxSampler::StatementsRef nStatements; |
45 |
LinuxSampler::StatementRef nStatement; |
46 |
LinuxSampler::FunctionCallRef nFunctionCall; |
47 |
LinuxSampler::ArgsRef nArgs; |
48 |
LinuxSampler::ExpressionRef nExpression; |
49 |
LinuxSampler::CaseBranch nCaseBranch; |
50 |
LinuxSampler::CaseBranches nCaseBranches; |
51 |
}; |
52 |
#define YYSTYPE _YYSTYPE |
53 |
#define yystype YYSTYPE ///< For backward compatibility. |
54 |
#ifndef YYSTYPE_IS_DECLARED |
55 |
# define YYSTYPE_IS_DECLARED ///< We tell the lexer / parser that we use our own data structure as defined above. |
56 |
#endif |
57 |
|
58 |
#endif // LS_INSTRSCRIPTSPARSER_SHARED_H |