Skip to content
GitLab
Projects
Groups
Snippets
/
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
Menu
Open sidebar
mpim-sw
cdo
Commits
e9865b69
Commit
e9865b69
authored
Oct 27, 2007
by
Uwe Schulzweida
Browse files
expr: change exponent precedence from left to right (bug fix)
parent
6d48d41d
Changes
10
Expand all
Hide whitespace changes
Inline
Side-by-side
ChangeLog
View file @
e9865b69
2007-10-2
6
Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
2007-10-2
7
Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
* gradsdes: bug fix for monthly mean data with start day > 28 [report: Renate Brokopf]
* expr: change exponent precedence from left to right (bug fix)[report: Claas Teichmann]
* Version 1.0.9.1 released
2007-10-22 Uwe Schulzweida <Uwe.Schulzweida@zmaw.de>
...
...
Makefile.in
View file @
e9865b69
# Makefile.in generated by automake 1.6
.3
from Makefile.am.
# Makefile.in generated by automake 1.6 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
...
...
@@ -49,7 +49,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA
=
@INSTALL_DATA@
install_sh_DATA
=
$(install_sh)
-c
-m
644
install_sh_PROGRAM
=
$(install_sh)
-c
install_sh_SCRIPT
=
$(install_sh)
-c
INSTALL_SCRIPT
=
@INSTALL_SCRIPT@
INSTALL_HEADER
=
$(INSTALL_DATA)
transform
=
@program_transform_name@
...
...
@@ -102,9 +101,6 @@ DIST_SUBDIRS = $(SUBDIRS)
all
:
all-recursive
.SUFFIXES
:
am__CONFIG_DISTCLEAN_FILES
=
config.status config.cache config.log
\
configure.lineno
$(srcdir)/Makefile.in
:
Makefile.am $(top_srcdir)/configure.ac $(ACLOCAL_M4)
cd
$(top_srcdir)
&&
\
$(AUTOMAKE)
--gnu
Makefile
...
...
@@ -127,7 +123,7 @@ uninstall-info-am:
# (which will cause the Makefiles to be regenerated when you run `make');
# (2) otherwise, pass the desired values on the `make' command line.
$(RECURSIVE_TARGETS)
:
@
set
fnord
$
$
MAKEFLAGS
;
amf
=
$$
2
;
\
@
set
fnord
$
(
MAKEFLAGS
)
;
amf
=
$$
2
;
\
dot_seen
=
no
;
\
target
=
`
echo
$@
|
sed
s/-recursive//
`
;
\
list
=
'
$(SUBDIRS)
'
;
for
subdir
in
$$
list
;
do
\
...
...
@@ -147,7 +143,7 @@ $(RECURSIVE_TARGETS):
mostlyclean-recursive
clean-recursive
distclean-recursive
\
maintainer-clean-recursive
:
@
set
fnord
$
$
MAKEFLAGS
;
amf
=
$$
2
;
\
@
set
fnord
$
(
MAKEFLAGS
)
;
amf
=
$$
2
;
\
dot_seen
=
no
;
\
case
"
$@
"
in
\
distclean-
*
|
maintainer-clean-
*
)
list
=
'
$(DIST_SUBDIRS)
'
;;
\
...
...
@@ -232,7 +228,7 @@ distdir: $(DISTFILES)
$(am__remove_distdir)
mkdir
$(distdir)
$(mkinstalldirs)
$(distdir)
/config
$(distdir)
/doc
@
list
=
'
$(DISTFILES)
'
;
for
file
in
$$
list
;
do
\
@
for
file
in
$(DISTFILES)
;
do
\
if
test
-f
$$
file
||
test
-d
$$
file
;
then
d
=
.
;
else
d
=
$(srcdir)
;
fi
;
\
dir
=
`
echo
"
$$
file"
|
sed
-e
's,/[^/]*$$,,'
`
;
\
if
test
"
$$
dir"
!=
"
$$
file"
&&
test
"
$$
dir"
!=
"."
;
then
\
...
...
@@ -242,10 +238,8 @@ distdir: $(DISTFILES)
dir
=
''
;
\
fi
;
\
if
test
-d
$$
d/
$$
file
;
then
\
if
test
-d
$(srcdir)
/
$$
file
&&
test
$$
d
!=
$(srcdir)
;
then
\
cp
-pR
$(srcdir)
/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
fi
;
\
cp
-pR
$$
d/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
cp
-pR
$$
d/
$$
file
$(distdir)$$
dir
\
||
exit
1
;
\
else
\
test
-f
$(distdir)
/
$$
file
\
||
cp
-p
$$
d/
$$
file
$(distdir)
/
$$
file
\
...
...
@@ -343,7 +337,7 @@ clean-generic:
-
test
-z
"
$(CLEANFILES)
"
||
rm
-f
$(CLEANFILES)
distclean-generic
:
-
rm
-f
Makefile
$(CONFIG_CLEAN_FILES)
-
rm
-f
Makefile
$(CONFIG_CLEAN_FILES)
stamp-h stamp-h[0-9]
*
maintainer-clean-generic
:
@
echo
"This command is intended for maintainers to use"
...
...
@@ -353,7 +347,7 @@ clean: clean-recursive
clean-am
:
clean-generic mostlyclean-am
distclean
:
distclean-recursive
-
rm
-f
$(am__CONFIG_DISTCLEAN_FILES)
-
rm
-f
config.status config.cache config.log
distclean-am
:
clean-am distclean-generic distclean-tags
dvi
:
dvi-recursive
...
...
@@ -375,8 +369,7 @@ install-man:
installcheck-am
:
maintainer-clean
:
maintainer-clean-recursive
-
rm
-f
$(am__CONFIG_DISTCLEAN_FILES)
-
rm
-rf
autom4te.cache
maintainer-clean-am
:
distclean-am maintainer-clean-generic
mostlyclean
:
mostlyclean-recursive
...
...
aclocal.m4
View file @
e9865b69
# aclocal.m4 generated automatically by aclocal 1.6
.3
-*- Autoconf -*-
# aclocal.m4 generated automatically by aclocal 1.6 -*- Autoconf -*-
# Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002
# Free Software Foundation, Inc.
...
...
@@ -164,9 +164,9 @@ _AM_IF_OPTION([no-define],,
# Some tools Automake needs.
AC_REQUIRE([AM_SANITY_CHECK])dnl
AC_REQUIRE([AC_ARG_PROGRAM])dnl
AM_MISSING_PROG(ACLOCAL, aclocal-${am__api_version})
AM_MISSING_PROG(ACLOCAL,
"
aclocal-${am__api_version}
"
)
AM_MISSING_PROG(AUTOCONF, autoconf)
AM_MISSING_PROG(AUTOMAKE, automake-${am__api_version})
AM_MISSING_PROG(AUTOMAKE,
"
automake-${am__api_version}
"
)
AM_MISSING_PROG(AUTOHEADER, autoheader)
AM_MISSING_PROG(MAKEINFO, makeinfo)
AM_MISSING_PROG(AMTAR, tar)
...
...
@@ -216,7 +216,7 @@ AC_DEFUN([AM_AUTOMAKE_VERSION],[am__api_version="1.6"])
# Call AM_AUTOMAKE_VERSION so it can be traced.
# This function is AC_REQUIREd by AC_INIT_AUTOMAKE.
AC_DEFUN([AM_SET_CURRENT_AUTOMAKE_VERSION],
[AM_AUTOMAKE_VERSION([1.6
.3
])])
[AM_AUTOMAKE_VERSION([1.6])])
# Helper functions for option handling. -*- Autoconf -*-
...
...
@@ -548,7 +548,7 @@ AC_REQUIRE([AM_DEP_TRACK])dnl
ifelse([$1], CC, [depcc="$CC" am_compiler_list=],
[$1], CXX, [depcc="$CXX" am_compiler_list=],
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
,
[$1], OBJC, [depcc="$OBJC" am_compiler_list='gcc3 gcc']
[$1], GCJ, [depcc="$GCJ" am_compiler_list='gcc3 gcc'],
[depcc="$$1" am_compiler_list=])
...
...
@@ -673,13 +673,7 @@ AC_DEFUN([_AM_OUTPUT_DEPENDENCY_COMMANDS],
[for mf in $CONFIG_FILES; do
# Strip MF so we end up with the name of the file.
mf=`echo "$mf" | sed -e 's/:.*$//'`
# Check whether this is an Automake generated Makefile or not.
# We used to match only the files named `Makefile.in', but
# some people rename them; so instead we look at the file content.
# Grep'ing the first line is not enough: some people post-process
# each Makefile.in and add a new line on top of each file to say so.
# So let's grep whole file.
if grep '^#.*generated by automake' $mf > /dev/null 2>&1; then
if (sed 1q $mf | fgrep 'generated by automake') > /dev/null 2>&1; then
dirpart=`AS_DIRNAME("$mf")`
else
continue
...
...
configure
View file @
e9865b69
This diff is collapsed.
Click to expand it.
src/Makefile.in
View file @
e9865b69
# Makefile.in generated by automake 1.6
.3
from Makefile.am.
# Makefile.in generated by automake 1.6 from Makefile.am.
# @configure_input@
# Copyright 1994, 1995, 1996, 1997, 1998, 1999, 2000, 2001, 2002
...
...
@@ -49,7 +49,6 @@ INSTALL_PROGRAM = @INSTALL_PROGRAM@
INSTALL_DATA
=
@INSTALL_DATA@
install_sh_DATA
=
$(install_sh)
-c
-m
644
install_sh_PROGRAM
=
$(install_sh)
-c
install_sh_SCRIPT
=
$(install_sh)
-c
INSTALL_SCRIPT
=
@INSTALL_SCRIPT@
INSTALL_HEADER
=
$(INSTALL_DATA)
transform
=
@program_transform_name@
...
...
@@ -496,7 +495,7 @@ $(srcdir)/config.h.in: $(top_srcdir)/configure.ac $(ACLOCAL_M4)
touch
$(srcdir)
/config.h.in
distclean-hdr
:
-
rm
-f
config.h
stamp-h1
-
rm
-f
config.h
binPROGRAMS_INSTALL
=
$(INSTALL_PROGRAM)
install-binPROGRAMS
:
$(bin_PROGRAMS)
@
$(NORMAL_INSTALL)
...
...
@@ -505,7 +504,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
p1
=
`
echo
$$
p|sed
's/
$(EXEEXT)
$$//'
`
;
\
if
test
-f
$$
p
\
;
then
\
f
=
`
echo
"
$$
p1"
|
sed
's,^.*/,,;
$(transform)
;s/$$/
$(EXEEXT)
/'
`
;
\
p1
=
`
echo
"
$$
p1"
|
sed
-e
's,^.*/,,'
`
;
\
f
=
`
echo
$$
p1|sed
'
$(transform)
;s/$$/
$(EXEEXT)
/'
`
;
\
echo
"
$(INSTALL_PROGRAM_ENV)
$(binPROGRAMS_INSTALL)
$$
p
$(DESTDIR)$(bindir)
/
$$
f"
;
\
$(INSTALL_PROGRAM_ENV)
$(binPROGRAMS_INSTALL)
$$
p
$(DESTDIR)$(bindir)
/
$$
f
;
\
else
:
;
fi
;
\
...
...
@@ -514,7 +514,8 @@ install-binPROGRAMS: $(bin_PROGRAMS)
uninstall-binPROGRAMS
:
@
$(NORMAL_UNINSTALL)
@
list
=
'
$(bin_PROGRAMS)
'
;
for
p
in
$$
list
;
do
\
f
=
`
echo
"
$$
p"
|
sed
's,^.*/,,;s/
$(EXEEXT)
$$//;
$(transform)
;s/$$/
$(EXEEXT)
/'
`
;
\
f
=
`
echo
$$
p|sed
's/
$(EXEEXT)
$$//;
$(transform)
;s/$$/
$(EXEEXT)
/'
`
;
\
f
=
`
echo
"
$$
f"
|
sed
-e
's,^.*/,,'
`
;
\
echo
" rm -f
$(DESTDIR)$(bindir)
/
$$
f"
;
\
rm
-f
$(DESTDIR)$(bindir)
/
$$
f
;
\
done
...
...
@@ -712,7 +713,7 @@ distclean-depend:
@AMDEP_TRUE@
source
=
'$<'
object
=
'$@'
libtool
=
no @AMDEPBACKSLASH@
@AMDEP_TRUE@
depfile
=
'
$(DEPDIR)
/$*.Po'
tmpdepfile
=
'
$(DEPDIR)
/$*.TPo'
@AMDEPBACKSLASH@
@AMDEP_TRUE@
$(CCDEPMODE)
$(depcomp)
@AMDEPBACKSLASH@
$(COMPILE)
-c
`test
-f
'
$<
'
||
echo
'$(srcdir)/'
`$<
$(COMPILE)
-c
`test
-f
$<
||
echo
'$(srcdir)/'
`$<
.c.obj
:
@AMDEP_TRUE@
source
=
'$<'
object
=
'$@'
libtool
=
no @AMDEPBACKSLASH@
...
...
@@ -763,7 +764,7 @@ top_distdir = ..
distdir
=
$(top_distdir)
/
$(PACKAGE)
-
$(VERSION)
distdir
:
$(DISTFILES)
@
list
=
'
$(DISTFILES)
'
;
for
file
in
$$
list
;
do
\
@
for
file
in
$(DISTFILES)
;
do
\
if
test
-f
$$
file
||
test
-d
$$
file
;
then
d
=
.
;
else
d
=
$(srcdir)
;
fi
;
\
dir
=
`
echo
"
$$
file"
|
sed
-e
's,/[^/]*$$,,'
`
;
\
if
test
"
$$
dir"
!=
"
$$
file"
&&
test
"
$$
dir"
!=
"."
;
then
\
...
...
@@ -773,10 +774,8 @@ distdir: $(DISTFILES)
dir
=
''
;
\
fi
;
\
if
test
-d
$$
d/
$$
file
;
then
\
if
test
-d
$(srcdir)
/
$$
file
&&
test
$$
d
!=
$(srcdir)
;
then
\
cp
-pR
$(srcdir)
/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
fi
;
\
cp
-pR
$$
d/
$$
file
$(distdir)$$
dir
||
exit
1
;
\
cp
-pR
$$
d/
$$
file
$(distdir)$$
dir
\
||
exit
1
;
\
else
\
test
-f
$(distdir)
/
$$
file
\
||
cp
-p
$$
d/
$$
file
$(distdir)
/
$$
file
\
...
...
@@ -810,7 +809,7 @@ clean-generic:
-
test
-z
"
$(CLEANFILES)
"
||
rm
-f
$(CLEANFILES)
distclean-generic
:
-
rm
-f
Makefile
$(CONFIG_CLEAN_FILES)
-
rm
-f
Makefile
$(CONFIG_CLEAN_FILES)
stamp-h stamp-h[0-9]
*
maintainer-clean-generic
:
@
echo
"This command is intended for maintainers to use"
...
...
src/expr_lex.c
View file @
e9865b69
This diff is collapsed.
Click to expand it.
src/expr_lex.l
View file @
e9865b69
%{
#include <string.h>
#include <stdlib.h>
#include <math.h>
#ifndef M_E
#define M_E 2.7182818284590452354 /* e */
...
...
src/expr_yacc.c
View file @
e9865b69
This diff is collapsed.
Click to expand it.
src/expr_yacc.h
View file @
e9865b69
/* A Bison parser, made by GNU Bison
1.875
. */
/* A Bison parser, made by GNU Bison
2.3
. */
/* Skeleton parser for Yacc-like parsing with Bison,
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002 Free Software Foundation, Inc.
/* Skeleton interface for Bison's Yacc-like parsers in C
Copyright (C) 1984, 1989, 1990, 2000, 2001, 2002, 2003, 2004, 2005, 2006
Free Software Foundation, Inc.
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
...
...
@@ -15,13 +17,21 @@
You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 59 Temple Place - Suite 330,
Boston, MA 02111-1307, USA. */
Foundation, Inc., 51 Franklin Street, Fifth Floor,
Boston, MA 02110-1301, USA. */
/* As a special exception, you may create a larger work that contains
part or all of the Bison parser skeleton and distribute that work
under terms of your choice, so long as that work isn't itself a
parser generator using the skeleton or a modified version thereof
as a parser skeleton. Alternatively, if you modify or redistribute
the parser skeleton itself, you may (at your option) remove this
special exception, which will cause the skeleton and the resulting
Bison output files to be licensed under the GNU General Public
License without this special exception.
/* As a special exception, when this file is copied by Bison into a
Bison output file, you may use that output file without restriction.
This special exception was added by the Free Software Foundation
in version 1.24 of Bison. */
This special exception was added by the Free Software Foundation in
version 2.2 of Bison. */
/* Tokens. */
#ifndef YYTOKENTYPE
...
...
@@ -39,6 +49,7 @@
UMINUS
=
265
};
#endif
/* Tokens. */
#define CONSTANT 258
#define VARIABLE 259
#define FUNCTION 260
...
...
@@ -51,16 +62,18 @@
#if ! defined (YYSTYPE) && ! defined (YYSTYPE_IS_DECLARED)
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef
union
YYSTYPE
#line 35 "expr_yacc.y"
typedef
union
YYSTYPE
{
{
double
cvalue
;
/* constant value */
char
*
varnm
;
/* variable name */
char
*
fname
;
/* function name */
nodeType
*
nPtr
;
/* node pointer */
}
YYSTYPE
;
/* Line 1249 of yacc.c. */
#line 63 "expr_yacc.h"
}
/* Line 1529 of yacc.c. */
#line 76 "expr_yacc.h"
YYSTYPE
;
# define yystype YYSTYPE
/* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
# define YYSTYPE_IS_TRIVIAL 1
...
...
@@ -68,5 +81,3 @@ typedef union YYSTYPE {
extern
YYSTYPE
yylval
;
src/expr_yacc.y
View file @
e9865b69
...
...
@@ -43,9 +43,10 @@ YY_DECL;
%token <varnm> VARIABLE
%token <fname> FUNCTION
%left GE LE EQ NE '>' '<'
%left GE LE EQ NE '>' '<'
'='
%left '+' '-'
%left '*' '/' '^'
%left '*' '/'
%right '^'
%nonassoc UMINUS
%type <nPtr> stmt expr stmt_list
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment