mirror of
https://github.com/HDFGroup/hdf5.git
synced 2025-04-12 17:31:09 +08:00
[svn-r28332] Updated autogen.sh to not run flex/bison.
This was giving a lot of users headaches and the parser code rarely changes. There is now a new script (bin/genparser) which can be run as needed. Tested on: Ubuntu 15.10 (x86_64 Linux 4.2.0) gcc 5.2.1, flex 2.5.39, bison 3.0.2
This commit is contained in:
parent
7426415d95
commit
f7b73969f3
4
MANIFEST
4
MANIFEST
@ -49,6 +49,7 @@
|
||||
./bin/deploy
|
||||
./bin/distdep
|
||||
./bin/errors _DO_NOT_DISTRIBUTE_
|
||||
./bin/genparser
|
||||
./bin/gcov_script _DO_NOT_DISTRIBUTE_
|
||||
./bin/h5vers
|
||||
./bin/iostats
|
||||
@ -2293,7 +2294,10 @@
|
||||
./hl/src/H5IMprivate.h
|
||||
./hl/src/H5IMpublic.h
|
||||
./hl/src/H5LT.c
|
||||
./hl/src/H5LTanalyze.c
|
||||
./hl/src/H5LTanalyze.l
|
||||
./hl/src/H5LTparse.c
|
||||
./hl/src/H5LTparse.h
|
||||
./hl/src/H5LTparse.y
|
||||
./hl/src/H5LTprivate.h
|
||||
./hl/src/H5LTpublic.h
|
||||
|
114
autogen.sh
114
autogen.sh
@ -19,22 +19,18 @@
|
||||
# IMPORTANT OS X NOTE
|
||||
#
|
||||
# If you are using OS X, you will probably not have the autotools
|
||||
# installed, even if you have the Xcode command-line tools. The
|
||||
# bison version you have installed may also have a bug that makes
|
||||
# it unable to process our input files.
|
||||
# installed, even if you have the Xcode command-line tools.
|
||||
#
|
||||
# The easiest way to fix this is to install everything via Homebrew:
|
||||
#
|
||||
# http://brew.sh/
|
||||
#
|
||||
# After you install the base packages, install autoconf, automake,
|
||||
# libtool, and flex/bison.
|
||||
# and libtool.
|
||||
#
|
||||
# brew install autoconf
|
||||
# brew install automake
|
||||
# brew install libtool
|
||||
# brew install flex
|
||||
# brew install bison
|
||||
#
|
||||
# This only takes a few minutes. Note that libtool and libtoolize will
|
||||
# be glibtool and glibtoolize so as not to conflict with Apple's non-gnu
|
||||
@ -52,8 +48,6 @@
|
||||
# HDF5_AUTOCONF
|
||||
# HDF5_LIBTOOL
|
||||
# HDF5_M4
|
||||
# HDF5_FLEX
|
||||
# HDF5_BISON
|
||||
#
|
||||
# Note that aclocal will attempt to include libtool's share/aclocal
|
||||
# directory.
|
||||
@ -149,12 +143,6 @@ if [ "$production" = true ] ; then
|
||||
if test -z ${HDF5_M4}; then
|
||||
HDF5_M4=/usr/hdf/bin/AUTOTOOLS/m4
|
||||
fi
|
||||
if test -z ${HDF5_BISON}; then
|
||||
HDF5_BISON=/usr/hdf/bin/AUTOTOOLS/bison
|
||||
fi
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
HDF5_FLEX=/usr/hdf/bin/AUTOTOOLS/flex
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
@ -189,12 +177,6 @@ else
|
||||
if test -z ${HDF5_M4}; then
|
||||
HDF5_M4=$(which m4)
|
||||
fi
|
||||
if test -z ${HDF5_BISON}; then
|
||||
HDF5_BISON=$(which bison)
|
||||
fi
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
HDF5_FLEX=$(which flex)
|
||||
fi
|
||||
|
||||
fi # production
|
||||
|
||||
@ -203,9 +185,7 @@ fi # production
|
||||
AUTOCONF_DIR=`dirname ${HDF5_AUTOCONF}`
|
||||
LIBTOOL_DIR=`dirname ${HDF5_LIBTOOL}`
|
||||
M4_DIR=`dirname ${HDF5_M4}`
|
||||
BISON_DIR=`dirname ${HDF5_BISON}`
|
||||
FLEX_DIR=`dirname ${HDF5_FLEX}`
|
||||
PATH=${AUTOCONF_DIR}:${LIBTOOL_DIR}:${M4_DIR}:${FLEX_DIR}:${BISON_DIR}:$PATH
|
||||
PATH=${AUTOCONF_DIR}:${LIBTOOL_DIR}:${M4_DIR}:$PATH
|
||||
|
||||
# Make libtoolize match the specified libtool
|
||||
case "`uname`" in
|
||||
@ -315,94 +295,6 @@ echo
|
||||
echo "Running overflow macro generation script:"
|
||||
bin/make_overflow src/H5overflow.txt || exit 1
|
||||
|
||||
# Run flex and bison
|
||||
# automatically generates hl/src/H5LTanalyze.c and hl/src/H5LTparse.c
|
||||
# Note that, as of Xcode 6.1 (2015), the default bison version on OS X
|
||||
# is old enough to have the circular dependency bug. You'll have
|
||||
# to install a later version of bison. See the OS X note at the top
|
||||
# of this script.
|
||||
echo
|
||||
echo "Generating H5LT parser code (requires yacc/bison):"
|
||||
echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
|
||||
# HDF5_BISON is set via the environment or 'which bison', above
|
||||
if test -z ${HDF5_BISON}; then
|
||||
echo
|
||||
echo "*************************"
|
||||
echo " ERROR - bison not found"
|
||||
echo "*************************"
|
||||
echo "bison is required to generate parser code in H5LT"
|
||||
echo
|
||||
exit 127
|
||||
fi
|
||||
cd hl/src
|
||||
if [ "$verbose" = true ] ; then
|
||||
${HDF5_BISON} --version
|
||||
fi
|
||||
${HDF5_BISON} -pH5LTyy -o H5LTparse.c -d H5LTparse.y
|
||||
|
||||
echo
|
||||
echo "Generating H5LT lexer code (requires lex/flex):"
|
||||
echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
|
||||
# HDF5_FLEX is set via the environment or 'which flex', above
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
echo
|
||||
echo "************************"
|
||||
echo " ERROR - flex not found"
|
||||
echo "************************"
|
||||
echo "flex is required to generate lexer code in H5LT"
|
||||
echo
|
||||
exit 127
|
||||
fi
|
||||
if [ "$verbose" = true ] ; then
|
||||
${HDF5_FLEX} --version
|
||||
fi
|
||||
${HDF5_FLEX} --nounistd -PH5LTyy -o H5LTanalyze.c H5LTanalyze.l
|
||||
|
||||
# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
|
||||
# instead of int. Currently the generated function H5LTyyparse is
|
||||
# generated with a return value of type int, which is a mapping to the
|
||||
# flex yyparse function. The return value in the HL library should be
|
||||
# an hid_t.
|
||||
# I propose to not use flex to generate this function, but for now I am
|
||||
# adding a perl command to find and replace this function declaration in
|
||||
# H5LTparse.c.
|
||||
perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' H5LTparse.c
|
||||
perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' H5LTparse.c
|
||||
perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' H5LTparse.c
|
||||
|
||||
# Add code that disables warnings in the flex/bison-generated code.
|
||||
#
|
||||
# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions
|
||||
# will simply ignore them, but we want to avoid those warnings.
|
||||
for f in H5LTparse.c H5LTanalyze.c
|
||||
do
|
||||
echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wsign-compare" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wredundant-decls" ' >> tmp.out
|
||||
echo '#elif defined __SUNPRO_CC ' >> tmp.out
|
||||
echo '#pragma disable_warn ' >> tmp.out
|
||||
echo '#elif defined _MSC_VER ' >> tmp.out
|
||||
echo '#pragma warning(push, 1) ' >> tmp.out
|
||||
echo '#endif ' >> tmp.out
|
||||
|
||||
cat $f >> tmp.out
|
||||
mv tmp.out $f
|
||||
done
|
||||
|
||||
cd ../..
|
||||
|
||||
echo
|
||||
exit 0
|
||||
|
||||
|
250
bin/genparser
Executable file
250
bin/genparser
Executable file
@ -0,0 +1,250 @@
|
||||
#! /bin/bash
|
||||
#
|
||||
# Copyright by The HDF Group.
|
||||
# All rights reserved.
|
||||
#
|
||||
# This file is part of HDF5. The full HDF5 copyright notice, including
|
||||
# terms governing use, modification, and redistribution, is contained in
|
||||
# the files COPYING and Copyright.html. COPYING can be found at the root
|
||||
# of the source code distribution tree; Copyright.html can be found at the
|
||||
# root level of an installed copy of the electronic document set and is
|
||||
# linked from the top-level documents page. It can also be found at
|
||||
# http://hdfgroup.org/HDF5/doc/Copyright.html. If you do not have access
|
||||
# to either file, you may request a copy from help@hdfgroup.org.
|
||||
#
|
||||
|
||||
# This script runs flex/lex and bison/yacc to generate parser code for
|
||||
# the high-level library. It used to be a part of autogen.sh, but many
|
||||
# people encountered problems with installing flex and bison on their
|
||||
# system and the parser code rarely changes, so those parts of the
|
||||
# script were moved to their own file.
|
||||
#
|
||||
# NOTE CAREFULLY!
|
||||
#
|
||||
# There is NO dependency in either the autotools or CMake to regenerate
|
||||
# the parser code. If you modify H5LT analyze.l or H5LTparse.y, you
|
||||
# will need to run this scrpit manually on a system with a suitable
|
||||
# lexer and parser generator.
|
||||
#
|
||||
# IMPORTANT OS X NOTE
|
||||
#
|
||||
# If you are using OS X, you will probably not have flex or bison
|
||||
# installed. In addtion, even if you do have bison installed, the bison
|
||||
# version you have installed may also have a bug that makes it unable to
|
||||
# process our input files.
|
||||
#
|
||||
# The easiest way to fix this is to install everything via Homebrew:
|
||||
#
|
||||
# http://brew.sh/
|
||||
#
|
||||
# After you install the base packages, install flex/bison.
|
||||
#
|
||||
# brew install flex
|
||||
# brew install bison
|
||||
#
|
||||
# END IMPORTANT OS X NOTE
|
||||
#
|
||||
# If you want to use a particular version of flex or bison, the paths
|
||||
# to each tool can be overridden using the following environment
|
||||
# variables:
|
||||
#
|
||||
# HDF5_FLEX
|
||||
# HDF5_BISON
|
||||
#
|
||||
# This script takes two potential options:
|
||||
#
|
||||
# -p
|
||||
#
|
||||
# When this is selected, the flex/bison versions are set to the paths
|
||||
# and versions used by The HDF Group to produce the released versions
|
||||
# of the library.
|
||||
#
|
||||
# NOTE: This is probably temporary. Once we update our dev machines
|
||||
# to have recent versions of the autotools this option will probably
|
||||
# be removed.
|
||||
#
|
||||
# -v
|
||||
#
|
||||
# This emits some extra information, mainly tool versions.
|
||||
|
||||
echo
|
||||
echo "*******************************************"
|
||||
echo "* HDF5 high-level parser generator script *"
|
||||
echo "*******************************************"
|
||||
echo
|
||||
|
||||
# Default is not verbose output
|
||||
verbose=false
|
||||
|
||||
optspec=":hpv-"
|
||||
while getopts "$optspec" optchar; do
|
||||
case "${optchar}" in
|
||||
h)
|
||||
echo "usage: $0 [OPTIONS] /path/to/hl/src/directory"
|
||||
echo
|
||||
echo " -h Print this help message."
|
||||
echo
|
||||
echo " -p Used by THG to use hard-codes flex/bison"
|
||||
echo " paths on THG machines. Not for non-HDF-Group"
|
||||
echo " users!"
|
||||
echo
|
||||
echo " -v Show more verbose output."
|
||||
echo
|
||||
echo " NOTE: Each tool can be set via an environment variable."
|
||||
echo " These are documented inside this script."
|
||||
echo
|
||||
exit 0
|
||||
;;
|
||||
p)
|
||||
echo "Setting THG production mode..."
|
||||
echo
|
||||
production=true
|
||||
;;
|
||||
v)
|
||||
echo "Setting verbosity: high"
|
||||
echo
|
||||
verbose=true
|
||||
;;
|
||||
*)
|
||||
if [ "$OPTERR" != 1 ] || [ "${optspec:0:1}" = ":" ]; then
|
||||
echo "Non-option argument: '-${OPTARG}'" >&2
|
||||
fi
|
||||
;;
|
||||
esac
|
||||
done
|
||||
|
||||
# Get the path to the hl src directory
|
||||
shift $(($OPTIND - 1))
|
||||
path_to_hl_src=$1
|
||||
if test -z ${path_to_hl_src}; then
|
||||
echo "*** ERROR *** - Path to hl/src not set"
|
||||
echo "Please add the path to the hl/src directory as a parameter"
|
||||
echo "See $0 -h for more help."
|
||||
echo
|
||||
exit -1
|
||||
fi
|
||||
|
||||
if [ "$production" = true ] ; then
|
||||
|
||||
# Production mode
|
||||
#
|
||||
# Hard-code canonical HDF Group tool locations.
|
||||
|
||||
# If paths to tools are not specified, assume they are
|
||||
# located in /usr/hdf/bin/AUTOTOOLS and set paths accordingly.
|
||||
if test -z ${HDF5_BISON}; then
|
||||
HDF5_BISON=/usr/hdf/bin/AUTOTOOLS/bison
|
||||
fi
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
HDF5_FLEX=/usr/hdf/bin/AUTOTOOLS/flex
|
||||
fi
|
||||
|
||||
else
|
||||
|
||||
# Not in production mode
|
||||
#
|
||||
# If paths to autotools are not specified, use whatever the system
|
||||
# has installed as the default. We use 'which <tool>' to
|
||||
# show exactly what's being used.
|
||||
if test -z ${HDF5_BISON}; then
|
||||
HDF5_BISON=$(which bison)
|
||||
fi
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
HDF5_FLEX=$(which flex)
|
||||
fi
|
||||
|
||||
fi # production
|
||||
|
||||
# Make sure that these versions of the tools are in the path
|
||||
BISON_DIR=`dirname ${HDF5_BISON}`
|
||||
FLEX_DIR=`dirname ${HDF5_FLEX}`
|
||||
PATH=${FLEX_DIR}:${BISON_DIR}:$PATH
|
||||
|
||||
# Run flex and bison
|
||||
# automatically generates hl/src/H5LTanalyze.c and hl/src/H5LTparse.c
|
||||
# Note that, as of Xcode 6.1 (2015), the default bison version on OS X
|
||||
# is old enough to have the circular dependency bug. You'll have
|
||||
# to install a later version of bison. See the OS X note at the top
|
||||
# of this script.
|
||||
echo
|
||||
echo "Generating H5LT parser code (requires yacc/bison):"
|
||||
echo "Generate hl/src/H5LTparse.c from hl/src/H5LTparse.y"
|
||||
# HDF5_BISON is set via the environment or 'which bison', above
|
||||
if test -z ${HDF5_BISON}; then
|
||||
echo
|
||||
echo "*************************"
|
||||
echo " ERROR - bison not found"
|
||||
echo "*************************"
|
||||
echo "bison is required to generate parser code in H5LT"
|
||||
echo
|
||||
exit 127
|
||||
fi
|
||||
if [ "$verbose" = true ] ; then
|
||||
${HDF5_BISON} --version
|
||||
fi
|
||||
${HDF5_BISON} -pH5LTyy -o ${path_to_hl_src}/H5LTparse.c -d ${path_to_hl_src}/H5LTparse.y
|
||||
|
||||
echo
|
||||
echo "Generating H5LT lexer code (requires lex/flex):"
|
||||
echo "Generate hl/src/H5LTanalyze.c from hl/src/H5LTanalyze.l"
|
||||
# HDF5_FLEX is set via the environment or 'which flex', above
|
||||
if test -z ${HDF5_FLEX}; then
|
||||
echo
|
||||
echo "************************"
|
||||
echo " ERROR - flex not found"
|
||||
echo "************************"
|
||||
echo "flex is required to generate lexer code in H5LT"
|
||||
echo
|
||||
exit 127
|
||||
fi
|
||||
if [ "$verbose" = true ] ; then
|
||||
${HDF5_FLEX} --version
|
||||
fi
|
||||
${HDF5_FLEX} --nounistd -PH5LTyy -o ${path_to_hl_src}/H5LTanalyze.c ${path_to_hl_src}/H5LTanalyze.l
|
||||
|
||||
# fix H5LTparse.c to declare H5LTyyparse return type as an hid_t
|
||||
# instead of int. Currently the generated function H5LTyyparse is
|
||||
# generated with a return value of type int, which is a mapping to the
|
||||
# flex yyparse function. The return value in the HL library should be
|
||||
# an hid_t.
|
||||
# I propose to not use flex to generate this function, but for now I am
|
||||
# adding a perl command to find and replace this function declaration in
|
||||
# H5LTparse.c.
|
||||
perl -0777 -pi -e 's/int yyparse/hid_t yyparse/igs' ${path_to_hl_src}/H5LTparse.c
|
||||
perl -0777 -pi -e 's/int\nyyparse/hid_t\nyyparse/igs' ${path_to_hl_src}/H5LTparse.c
|
||||
perl -0777 -pi -e 's/int H5LTyyparse/hid_t H5LTyyparse/igs' ${path_to_hl_src}/H5LTparse.c
|
||||
|
||||
# Add code that disables warnings in the flex/bison-generated code.
|
||||
#
|
||||
# Note that the GCC pragmas did not exist until gcc 4.2. Earlier versions
|
||||
# will simply ignore them, but we want to avoid those warnings.
|
||||
for f in ${path_to_hl_src}/H5LTparse.c ${path_to_hl_src}/H5LTanalyze.c
|
||||
do
|
||||
echo '#if __GNUC__ >= 4 && __GNUC_MINOR__ >=2 ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wconversion" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wimplicit-function-declaration" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wlarger-than=" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wmissing-prototypes" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wnested-externs" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wold-style-definition" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wsign-compare" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wsign-conversion" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wstrict-prototypes" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wswitch-default" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-function" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-macros" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wunused-parameter" ' >> tmp.out
|
||||
echo '#pragma GCC diagnostic ignored "-Wredundant-decls" ' >> tmp.out
|
||||
echo '#elif defined __SUNPRO_CC ' >> tmp.out
|
||||
echo '#pragma disable_warn ' >> tmp.out
|
||||
echo '#elif defined _MSC_VER ' >> tmp.out
|
||||
echo '#pragma warning(push, 1) ' >> tmp.out
|
||||
echo '#endif ' >> tmp.out
|
||||
|
||||
cat $f >> tmp.out
|
||||
mv tmp.out $f
|
||||
done
|
||||
|
||||
echo
|
||||
exit 0
|
||||
|
2576
hl/src/H5LTanalyze.c
Normal file
2576
hl/src/H5LTanalyze.c
Normal file
File diff suppressed because it is too large
Load Diff
@ -13,6 +13,12 @@
|
||||
* access to either file, you may request a copy from help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
/* NOTE!
|
||||
*
|
||||
* If you make any changes to H5LTanalyze.l, please run bin/genparser to
|
||||
* recreate the output files.
|
||||
*/
|
||||
|
||||
%{
|
||||
#include <stdlib.h>
|
||||
#include <string.h>
|
||||
|
2285
hl/src/H5LTparse.c
Normal file
2285
hl/src/H5LTparse.c
Normal file
File diff suppressed because it is too large
Load Diff
129
hl/src/H5LTparse.h
Normal file
129
hl/src/H5LTparse.h
Normal file
@ -0,0 +1,129 @@
|
||||
/* A Bison parser, made by GNU Bison 3.0.2. */
|
||||
|
||||
/* Bison interface for Yacc-like parsers in C
|
||||
|
||||
Copyright (C) 1984, 1989-1990, 2000-2013 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
|
||||
the Free Software Foundation, either version 3 of the License, or
|
||||
(at your option) any later version.
|
||||
|
||||
This program 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 General Public License for more details.
|
||||
|
||||
You should have received a copy of the GNU General Public License
|
||||
along with this program. If not, see <http://www.gnu.org/licenses/>. */
|
||||
|
||||
/* 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.
|
||||
|
||||
This special exception was added by the Free Software Foundation in
|
||||
version 2.2 of Bison. */
|
||||
|
||||
#ifndef YY_H5LTYY_HL_SRC_H5LTPARSE_H_INCLUDED
|
||||
# define YY_H5LTYY_HL_SRC_H5LTPARSE_H_INCLUDED
|
||||
/* Debug traces. */
|
||||
#ifndef YYDEBUG
|
||||
# define YYDEBUG 0
|
||||
#endif
|
||||
#if YYDEBUG
|
||||
extern int H5LTyydebug;
|
||||
#endif
|
||||
|
||||
/* Token type. */
|
||||
#ifndef YYTOKENTYPE
|
||||
# define YYTOKENTYPE
|
||||
enum yytokentype
|
||||
{
|
||||
H5T_STD_I8BE_TOKEN = 258,
|
||||
H5T_STD_I8LE_TOKEN = 259,
|
||||
H5T_STD_I16BE_TOKEN = 260,
|
||||
H5T_STD_I16LE_TOKEN = 261,
|
||||
H5T_STD_I32BE_TOKEN = 262,
|
||||
H5T_STD_I32LE_TOKEN = 263,
|
||||
H5T_STD_I64BE_TOKEN = 264,
|
||||
H5T_STD_I64LE_TOKEN = 265,
|
||||
H5T_STD_U8BE_TOKEN = 266,
|
||||
H5T_STD_U8LE_TOKEN = 267,
|
||||
H5T_STD_U16BE_TOKEN = 268,
|
||||
H5T_STD_U16LE_TOKEN = 269,
|
||||
H5T_STD_U32BE_TOKEN = 270,
|
||||
H5T_STD_U32LE_TOKEN = 271,
|
||||
H5T_STD_U64BE_TOKEN = 272,
|
||||
H5T_STD_U64LE_TOKEN = 273,
|
||||
H5T_NATIVE_CHAR_TOKEN = 274,
|
||||
H5T_NATIVE_SCHAR_TOKEN = 275,
|
||||
H5T_NATIVE_UCHAR_TOKEN = 276,
|
||||
H5T_NATIVE_SHORT_TOKEN = 277,
|
||||
H5T_NATIVE_USHORT_TOKEN = 278,
|
||||
H5T_NATIVE_INT_TOKEN = 279,
|
||||
H5T_NATIVE_UINT_TOKEN = 280,
|
||||
H5T_NATIVE_LONG_TOKEN = 281,
|
||||
H5T_NATIVE_ULONG_TOKEN = 282,
|
||||
H5T_NATIVE_LLONG_TOKEN = 283,
|
||||
H5T_NATIVE_ULLONG_TOKEN = 284,
|
||||
H5T_IEEE_F32BE_TOKEN = 285,
|
||||
H5T_IEEE_F32LE_TOKEN = 286,
|
||||
H5T_IEEE_F64BE_TOKEN = 287,
|
||||
H5T_IEEE_F64LE_TOKEN = 288,
|
||||
H5T_NATIVE_FLOAT_TOKEN = 289,
|
||||
H5T_NATIVE_DOUBLE_TOKEN = 290,
|
||||
H5T_NATIVE_LDOUBLE_TOKEN = 291,
|
||||
H5T_STRING_TOKEN = 292,
|
||||
STRSIZE_TOKEN = 293,
|
||||
STRPAD_TOKEN = 294,
|
||||
CSET_TOKEN = 295,
|
||||
CTYPE_TOKEN = 296,
|
||||
H5T_VARIABLE_TOKEN = 297,
|
||||
H5T_STR_NULLTERM_TOKEN = 298,
|
||||
H5T_STR_NULLPAD_TOKEN = 299,
|
||||
H5T_STR_SPACEPAD_TOKEN = 300,
|
||||
H5T_CSET_ASCII_TOKEN = 301,
|
||||
H5T_CSET_UTF8_TOKEN = 302,
|
||||
H5T_C_S1_TOKEN = 303,
|
||||
H5T_FORTRAN_S1_TOKEN = 304,
|
||||
H5T_OPAQUE_TOKEN = 305,
|
||||
OPQ_SIZE_TOKEN = 306,
|
||||
OPQ_TAG_TOKEN = 307,
|
||||
H5T_COMPOUND_TOKEN = 308,
|
||||
H5T_ENUM_TOKEN = 309,
|
||||
H5T_ARRAY_TOKEN = 310,
|
||||
H5T_VLEN_TOKEN = 311,
|
||||
STRING = 312,
|
||||
NUMBER = 313
|
||||
};
|
||||
#endif
|
||||
|
||||
/* Value type. */
|
||||
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
|
||||
typedef union YYSTYPE YYSTYPE;
|
||||
union YYSTYPE
|
||||
{
|
||||
#line 74 "hl/src//H5LTparse.y" /* yacc.c:1909 */
|
||||
|
||||
int ival; /*for integer token*/
|
||||
char *sval; /*for name string*/
|
||||
hid_t hid; /*for hid_t token*/
|
||||
|
||||
#line 119 "hl/src//H5LTparse.h" /* yacc.c:1909 */
|
||||
};
|
||||
# define YYSTYPE_IS_TRIVIAL 1
|
||||
# define YYSTYPE_IS_DECLARED 1
|
||||
#endif
|
||||
|
||||
|
||||
extern YYSTYPE H5LTyylval;
|
||||
|
||||
int H5LTyyparse (void);
|
||||
|
||||
#endif /* !YY_H5LTYY_HL_SRC_H5LTPARSE_H_INCLUDED */
|
@ -13,6 +13,12 @@
|
||||
* access to either file, you may request a copy from help@hdfgroup.org. *
|
||||
* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
|
||||
|
||||
/* NOTE!
|
||||
*
|
||||
* If you make any changes to H5LTparse.y, please run bin/genparser to
|
||||
* recreate the output files.
|
||||
*/
|
||||
|
||||
%{
|
||||
#include <stdio.h>
|
||||
#include <string.h>
|
||||
|
Loading…
x
Reference in New Issue
Block a user