ergo
ergo_input_processor.h
Go to the documentation of this file.
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