00001 /* Ergo, version 3.2, a program for linear scaling electronic structure 00002 * calculations. 00003 * Copyright (C) 2012 Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek. 00004 * 00005 * This program is free software: you can redistribute it and/or modify 00006 * it under the terms of the GNU General Public License as published by 00007 * the Free Software Foundation, either version 3 of the License, or 00008 * (at your option) any later version. 00009 * 00010 * This program is distributed in the hope that it will be useful, 00011 * but WITHOUT ANY WARRANTY; without even the implied warranty of 00012 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00013 * GNU General Public License for more details. 00014 * 00015 * You should have received a copy of the GNU General Public License 00016 * along with this program. If not, see <http://www.gnu.org/licenses/>. 00017 * 00018 * Primary academic reference: 00019 * KohnâSham Density Functional Theory Electronic Structure Calculations 00020 * with Linearly Scaling Computational Time and Memory Usage, 00021 * Elias Rudberg, Emanuel H. Rubensson, and Pawel Salek, 00022 * J. Chem. Theory Comput. 7, 340 (2011), 00023 * <http://dx.doi.org/10.1021/ct100611z> 00024 * 00025 * For further information about Ergo, see <http://www.ergoscf.org>. 00026 */ 00027 /* A Bison parser, made by GNU Bison 2.5. */ 00028 00029 /* Bison interface for Yacc-like parsers in C 00030 00031 Copyright (C) 1984, 1989-1990, 2000-2011 Free Software Foundation, Inc. 00032 00033 This program is free software: you can redistribute it and/or modify 00034 it under the terms of the GNU General Public License as published by 00035 the Free Software Foundation, either version 3 of the License, or 00036 (at your option) any later version. 00037 00038 This program is distributed in the hope that it will be useful, 00039 but WITHOUT ANY WARRANTY; without even the implied warranty of 00040 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 00041 GNU General Public License for more details. 00042 00043 You should have received a copy of the GNU General Public License 00044 along with this program. If not, see <http://www.gnu.org/licenses/>. */ 00045 00046 /* As a special exception, you may create a larger work that contains 00047 part or all of the Bison parser skeleton and distribute that work 00048 under terms of your choice, so long as that work isn't itself a 00049 parser generator using the skeleton or a modified version thereof 00050 as a parser skeleton. Alternatively, if you modify or redistribute 00051 the parser skeleton itself, you may (at your option) remove this 00052 special exception, which will cause the skeleton and the resulting 00053 Bison output files to be licensed under the GNU General Public 00054 License without this special exception. 00055 00056 This special exception was added by the Free Software Foundation in 00057 version 2.2 of Bison. */ 00058 00059 00060 /* Tokens. */ 00061 #ifndef YYTOKENTYPE 00062 # define YYTOKENTYPE 00063 /* Put the tokens into the symbol table, so that GDB and other debuggers 00064 know about them. */ 00065 enum yytokentype { 00066 NUMBER = 258, 00067 DOT = 259, 00068 SYMBOL = 260, 00069 EQUAL = 261, 00070 STRING = 262, 00071 EOFTAG = 263, 00072 GETEXC = 264, 00073 GETPOL = 265, 00074 K_ALL = 266, 00075 HELP = 267, 00076 MOLTAG = 268, 00077 GHOSTTAG = 269, 00078 MOLDAL = 270, 00079 QUIT = 271, 00080 RUNTAG = 272, 00081 SYSTEM = 273, 00082 GHOST = 274, 00083 ANGSTROM = 275, 00084 PRECISION = 276, 00085 RANGE = 277, 00086 WARRANTY = 278, 00087 SET_NTHREADS = 279, 00088 PLUS = 280, 00089 MINUS = 281, 00090 TIMES = 282, 00091 DIVIDE = 283, 00092 POWER = 284, 00093 LEFT_PARENTHESIS = 285, 00094 RIGHT_PARENTHESIS = 286, 00095 EOL = 287, 00096 NEG = 288 00097 }; 00098 #endif 00099 /* Tokens. */ 00100 #define NUMBER 258 00101 #define DOT 259 00102 #define SYMBOL 260 00103 #define EQUAL 261 00104 #define STRING 262 00105 #define EOFTAG 263 00106 #define GETEXC 264 00107 #define GETPOL 265 00108 #define K_ALL 266 00109 #define HELP 267 00110 #define MOLTAG 268 00111 #define GHOSTTAG 269 00112 #define MOLDAL 270 00113 #define QUIT 271 00114 #define RUNTAG 272 00115 #define SYSTEM 273 00116 #define GHOST 274 00117 #define ANGSTROM 275 00118 #define PRECISION 276 00119 #define RANGE 277 00120 #define WARRANTY 278 00121 #define SET_NTHREADS 279 00122 #define PLUS 280 00123 #define MINUS 281 00124 #define TIMES 282 00125 #define DIVIDE 283 00126 #define POWER 284 00127 #define LEFT_PARENTHESIS 285 00128 #define RIGHT_PARENTHESIS 286 00129 #define EOL 287 00130 #define NEG 288 00131 00132 00133 00134 00135 #if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED 00136 typedef union YYSTYPE 00137 { 00138 00139 /* Line 2068 of yacc.c */ 00140 #line 18 "ergo_input_processor.y" 00141 00142 double num; /* for returning numbers */ 00143 char str[256]; /* for returning strings */ 00144 struct variable *var; /* for returning lvalues */ 00145 00146 00147 00148 /* Line 2068 of yacc.c */ 00149 #line 124 "ergo_input_processor.h" 00150 } YYSTYPE; 00151 # define YYSTYPE_IS_TRIVIAL 1 00152 # define yystype YYSTYPE /* obsolescent; will be withdrawn */ 00153 # define YYSTYPE_IS_DECLARED 1 00154 #endif 00155 00156 extern YYSTYPE yylval; 00157 00158