ergo
ergo_input_processor.h
Go to the documentation of this file.
1 /* Ergo, version 3.2, a program for linear scaling electronic structure
2  * calculations.
3  * Copyright (C) 2012 Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek.
4  *
5  * This program is free software: you can redistribute it and/or modify
6  * it under the terms of the GNU General Public License as published by
7  * the Free Software Foundation, either version 3 of the License, or
8  * (at your option) any later version.
9  *
10  * This program is distributed in the hope that it will be useful,
11  * but WITHOUT ANY WARRANTY; without even the implied warranty of
12  * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
13  * GNU General Public License for more details.
14  *
15  * You should have received a copy of the GNU General Public License
16  * along with this program. If not, see <http://www.gnu.org/licenses/>.
17  *
18  * Primary academic reference:
19  * Kohn−Sham Density Functional Theory Electronic Structure Calculations
20  * with Linearly Scaling Computational Time and Memory Usage,
21  * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek,
22  * J. Chem. Theory Comput. 7, 340 (2011),
23  * <http://dx.doi.org/10.1021/ct100611z>
24  *
25  * For further information about Ergo, see <http://www.ergoscf.org>.
26  */
27 /* A Bison parser, made by GNU Bison 2.5. */
28 
29 /* Bison interface for Yacc-like parsers in C
30 
31  Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc.
32 
33  This program is free software: you can redistribute it and/or modify
34  it under the terms of the GNU General Public License as published by
35  the Free Software Foundation, either version 3 of the License, or
36  (at your option) any later version.
37 
38  This program is distributed in the hope that it will be useful,
39  but WITHOUT ANY WARRANTY; without even the implied warranty of
40  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
41  GNU General Public License for more details.
42 
43  You should have received a copy of the GNU General Public License
44  along with this program. If not, see <http://www.gnu.org/licenses/>. */
45 
46 /* As a special exception, you may create a larger work that contains
47  part or all of the Bison parser skeleton and distribute that work
48  under terms of your choice, so long as that work isn't itself a
49  parser generator using the skeleton or a modified version thereof
50  as a parser skeleton. Alternatively, if you modify or redistribute
51  the parser skeleton itself, you may (at your option) remove this
52  special exception, which will cause the skeleton and the resulting
53  Bison output files to be licensed under the GNU General Public
54  License without this special exception.
55 
56  This special exception was added by the Free Software Foundation in
57  version 2.2 of Bison. */
58 
59 
60 /* Tokens. */
61 #ifndef YYTOKENTYPE
62 # define YYTOKENTYPE
63  /* Put the tokens into the symbol table, so that GDB and other debuggers
64  know about them. */
65  enum yytokentype {
66  NUMBER = 258,
67  DOT = 259,
68  SYMBOL = 260,
69  EQUAL = 261,
70  STRING = 262,
71  EOFTAG = 263,
72  GETEXC = 264,
73  GETPOL = 265,
74  K_ALL = 266,
75  HELP = 267,
76  MOLTAG = 268,
77  GHOSTTAG = 269,
78  MOLDAL = 270,
79  QUIT = 271,
80  RUNTAG = 272,
81  SYSTEM = 273,
82  GHOST = 274,
83  ANGSTROM = 275,
84  PRECISION = 276,
85  RANGE = 277,
86  WARRANTY = 278,
87  SET_NTHREADS = 279,
88  PLUS = 280,
89  MINUS = 281,
90  TIMES = 282,
91  DIVIDE = 283,
92  POWER = 284,
95  EOL = 287,
96  NEG = 288
97  };
98 #endif
99 /* Tokens. */
100 #define NUMBER 258
101 #define DOT 259
102 #define SYMBOL 260
103 #define EQUAL 261
104 #define STRING 262
105 #define EOFTAG 263
106 #define GETEXC 264
107 #define GETPOL 265
108 #define K_ALL 266
109 #define HELP 267
110 #define MOLTAG 268
111 #define GHOSTTAG 269
112 #define MOLDAL 270
113 #define QUIT 271
114 #define RUNTAG 272
115 #define SYSTEM 273
116 #define GHOST 274
117 #define ANGSTROM 275
118 #define PRECISION 276
119 #define RANGE 277
120 #define WARRANTY 278
121 #define SET_NTHREADS 279
122 #define PLUS 280
123 #define MINUS 281
124 #define TIMES 282
125 #define DIVIDE 283
126 #define POWER 284
127 #define LEFT_PARENTHESIS 285
128 #define RIGHT_PARENTHESIS 286
129 #define EOL 287
130 #define NEG 288
131 
132 
133 
134 
135 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
136 typedef union YYSTYPE
137 {
138 
139 /* Line 2068 of yacc.c */
140 #line 18 "ergo_input_processor.y"
141 
142  double num; /* for returning numbers */
143  char str[256]; /* for returning strings */
144  struct variable *var; /* for returning lvalues */
145 
146 
147 
148 /* Line 2068 of yacc.c */
149 #line 124 "ergo_input_processor.h"
150 } YYSTYPE;
151 # define YYSTYPE_IS_TRIVIAL 1
152 # define yystype YYSTYPE /* obsolescent; will be withdrawn */
153 # define YYSTYPE_IS_DECLARED 1
154 #endif
155 
156 extern YYSTYPE yylval;
157 
158