version 1.2, 2000/06/27 18:28:48
|
version 1.5, 2000/07/07 18:33:03
|
Line 1
|
Line 1
|
|
/* formula parser |
|
Copyright (C) 1992-2000 Michigan State University |
|
|
|
The CAPA system is free software; you can redistribute it and/or |
|
modify it under the terms of the GNU Library General Public License as |
|
published by the Free Software Foundation; either version 2 of the |
|
License, or (at your option) any later version. |
|
|
|
The CAPA system is distributed in the hope that it will be useful, |
|
but WITHOUT ANY WARRANTY; without even the implied warranty of |
|
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU |
|
Library General Public License for more details. |
|
|
|
You should have received a copy of the GNU Library General Public |
|
License along with the CAPA system; see the file COPYING. If not, |
|
write to the Free Software Foundation, Inc., 59 Temple Place - Suite 330, |
|
Boston, MA 02111-1307, USA. |
|
|
|
As a special exception, you have permission to link this program |
|
with the TtH/TtM library and distribute executables, as long as you |
|
follow the requirements of the GNU GPL in regard to all of the |
|
software in the executable aside from TtH/TtM. |
|
*/ |
|
|
/* ====================================================== */ |
/* ====================================================== */ |
/* capaFormula.y created by Isaac Tsai @ Feb 1999 */ |
/* capaFormula.y created by Isaac Tsai @ Feb 1999 */ |
/* copyrighted by Isaac Tsai 1999 */ |
|
/* TODO: checking user inputs 2/27/99 IT */ |
/* TODO: checking user inputs 2/27/99 IT */ |
/* ====================================================== */ |
/* ====================================================== */ |
%{ |
%{ |
Line 194 f_symbol_pow(ap,bp) Symbol *ap; Symbol *
|
Line 216 f_symbol_pow(ap,bp) Symbol *ap; Symbol *
|
case S_CONSTANT: |
case S_CONSTANT: |
default: error = 1; break; |
default: error = 1; break; |
} |
} |
|
if ((!(((double)((int)b)) == b)) && (a < 0.0)) { |
|
error = 1; |
|
} |
if (!error) { |
if (!error) { |
cp = (Symbol *)capa_malloc(sizeof(Symbol),1); |
cp = (Symbol *)capa_malloc(sizeof(Symbol),1); |
cp->s_type = R_CONSTANT; |
cp->s_type = R_CONSTANT; |