Compare commits
1
Commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
142b75ce64 |
+106
-178
@@ -1,6 +1,6 @@
|
||||
# C M A K E L I S T S . T X T F O R S C L
|
||||
#
|
||||
# This file is Copyright (c) 2010 United States Government as
|
||||
# This file is Copyright (c) 2010 United States Government as
|
||||
# represented by the U.S. Army Research Laboratory.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
@@ -32,38 +32,38 @@
|
||||
# SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
|
||||
# *******************************************************************
|
||||
# *** SC's CMakeLists.txt ***
|
||||
# *** SCL's CMakeLists.txt ***
|
||||
# *******************************************************************
|
||||
|
||||
# This file contains the top level CMakeLists.txt logic for the
|
||||
# SC software package.
|
||||
# This file contains the top level CMakeLists.txt logic for the
|
||||
# SCL software package.
|
||||
|
||||
PROJECT(SC)
|
||||
PROJECT(SCL)
|
||||
|
||||
# SC version
|
||||
SET(SC_VERSION_MAJOR 0)
|
||||
SET(SC_VERSION_MINOR 7-dev)
|
||||
SET(SC_VERSION ${SC_VERSION_MAJOR}.${SC_VERSION_MINOR})
|
||||
# SCL version
|
||||
SET(SCL_VERSION_MAJOR 0)
|
||||
SET(SCL_VERSION_MINOR 5-dev)
|
||||
SET(SCL_VERSION ${SCL_VERSION_MAJOR}.${SCL_VERSION_MINOR})
|
||||
|
||||
# SC ABI version. SC_ABI_SOVERSION should be incremented
|
||||
# SCL ABI version. SCL_ABI_SOVERSION should be incremented
|
||||
# for each release introducing API incompatibilities
|
||||
SET(SC_ABI_SOVERSION 2)
|
||||
SET(SC_ABI_VERSION ${SC_ABI_SOVERSION}.0.0)
|
||||
SET(SCL_ABI_SOVERSION 2)
|
||||
SET(SCL_ABI_VERSION ${SCL_ABI_SOVERSION}.0.0)
|
||||
|
||||
# Minimum required version of CMake
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8.7)
|
||||
CMAKE_MINIMUM_REQUIRED(VERSION 2.8)
|
||||
IF(COMMAND CMAKE_POLICY)
|
||||
CMAKE_POLICY(SET CMP0003 NEW)
|
||||
ENDIF(COMMAND CMAKE_POLICY)
|
||||
|
||||
IF( NOT DEFINED SC_BUILD_TYPE )
|
||||
SET( SC_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set debug build
|
||||
ENDIF( NOT DEFINED SC_BUILD_TYPE )
|
||||
IF(NOT SC_IS_SUBBUILD)
|
||||
SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE )
|
||||
ELSE(NOT SC_IS_SUBBUILD)
|
||||
SET(CMAKE_BUILD_TYPE ${SC_BUILD_TYPE} )
|
||||
ENDIF(NOT SC_IS_SUBBUILD)
|
||||
IF( NOT DEFINED SCL_BUILD_TYPE )
|
||||
SET( SCL_BUILD_TYPE "Debug" CACHE STRING "Build type" ) # By default set debug build
|
||||
ENDIF( NOT DEFINED SCL_BUILD_TYPE )
|
||||
IF(NOT SCL_IS_SUBBUILD)
|
||||
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} CACHE INTERNAL "Build type, immutable" FORCE )
|
||||
ELSE(NOT SCL_IS_SUBBUILD)
|
||||
SET(CMAKE_BUILD_TYPE ${SCL_BUILD_TYPE} )
|
||||
ENDIF(NOT SCL_IS_SUBBUILD)
|
||||
|
||||
# Define helper macro OPTION_WITH_DEFAULT
|
||||
MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
|
||||
@@ -74,36 +74,27 @@ MACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
|
||||
ENDMACRO( OPTION_WITH_DEFAULT OPTION_NAME OPTION_STRING OPTION_DEFAULT )
|
||||
|
||||
# build shared libs by default
|
||||
OPTION_WITH_DEFAULT(SC_BUILD_SHARED_LIBS "Build shared libs" ON )
|
||||
OPTION_WITH_DEFAULT(SCL_BUILD_SHARED_LIBS "Build shared libs" ON )
|
||||
|
||||
# don't build static libs by default
|
||||
OPTION_WITH_DEFAULT(SC_BUILD_STATIC_LIBS "Build static libs" OFF)
|
||||
OPTION_WITH_DEFAULT(SCL_BUILD_STATIC_LIBS "Build static libs" OFF)
|
||||
|
||||
OPTION_WITH_DEFAULT(SC_PYTHON_GENERATOR "Compile fedex_python" ON)
|
||||
OPTION_WITH_DEFAULT(SC_CPP_GENERATOR "Compile fedex_plus" ON)
|
||||
OPTION_WITH_DEFAULT(SCL_PYTHON_GENERATOR "Compile fedex_python" ON)
|
||||
OPTION_WITH_DEFAULT(SCL_CPP_GENERATOR "Compile fedex_plus" ON)
|
||||
|
||||
OPTION_WITH_DEFAULT(SC_MEMMGR_ENABLE_CHECKS "Enable sc_memmgr's memory leak detection" OFF)
|
||||
OPTION_WITH_DEFAULT(SC_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
|
||||
|
||||
if(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
|
||||
set( SC_SDAI_ADDITIONAL_EXES_SRCS "" CACHE STRING "Source files for additional executables to be linked with SDAI libs" )
|
||||
endif(NOT DEFINED SC_SDAI_ADDITIONAL_EXES_SRCS )
|
||||
|
||||
#this makes SC_BUILD_SCHEMAS show up in cmake-gui
|
||||
if( NOT DEFINED SC_BUILD_SCHEMAS )
|
||||
SET(SC_BUILD_SCHEMAS "ALL" CACHE string "Semicolon-separated list of paths to EXPRESS schemas to be built" )
|
||||
endif( NOT DEFINED SC_BUILD_SCHEMAS )
|
||||
OPTION_WITH_DEFAULT(SCL_MEMMGR_ENABLE_CHECKS "Enable scl_memmgr's memory leak detection" OFF)
|
||||
OPTION_WITH_DEFAULT(SCL_TRACE_FPRINTF "Enable extra comments in generated code so the code's source in fedex_plus may be located" OFF)
|
||||
|
||||
# CMake derives much of its functionality from modules, typically
|
||||
# stored in one directory - let CMake know where to find them.
|
||||
SET(SC_CMAKE_DIR "${SC_SOURCE_DIR}/cmake")
|
||||
SET(SCL_CMAKE_DIR "${SCL_SOURCE_DIR}/cmake")
|
||||
if(NOT IS_SUBBUILD)
|
||||
SET(CMAKE_MODULE_PATH "${SC_CMAKE_DIR};${CMAKE_MODULE_PATH}")
|
||||
SET(CMAKE_MODULE_PATH "${SCL_CMAKE_DIR};${CMAKE_MODULE_PATH}")
|
||||
else(NOT IS_SUBBUILD)
|
||||
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SC_CMAKE_DIR}")
|
||||
SET(CMAKE_MODULE_PATH "${CMAKE_MODULE_PATH};${SCL_CMAKE_DIR}")
|
||||
endif(NOT IS_SUBBUILD)
|
||||
|
||||
INCLUDE(${SC_CMAKE_DIR}/SC_Utils.cmake)
|
||||
INCLUDE(${SCL_CMAKE_DIR}/SCL_Utils.cmake)
|
||||
|
||||
# Save the current LC_ALL, LC_MESSAGES, and LANG environment variables and set them
|
||||
# to "C" so things like date output are as expected
|
||||
@@ -120,32 +111,30 @@ IF(_orig_lang)
|
||||
SET(ENV{LANG} C)
|
||||
ENDIF(_orig_lang)
|
||||
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Coverage option
|
||||
OPTION_WITH_DEFAULT( SC_ENABLE_COVERAGE "Enable code coverage test" OFF )
|
||||
IF(SC_ENABLE_COVERAGE)
|
||||
SET(SC_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
|
||||
# build static libs, better coverage report
|
||||
SET(SC_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
|
||||
SET(SC_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
|
||||
SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
|
||||
SET(SC_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
|
||||
SET( SC_PYTHON_GENERATOR OFF ) #won't build with static libs
|
||||
ENDIF(SC_ENABLE_COVERAGE)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Testing option
|
||||
OPTION_WITH_DEFAULT( SC_ENABLE_TESTING "Enable unittesting framework" OFF )
|
||||
IF(SC_ENABLE_TESTING)
|
||||
if( NOT DEFINED SC_BUILD_SCHEMAS )
|
||||
set( SC_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
|
||||
OPTION_WITH_DEFAULT( SCL_ENABLE_TESTING "Enable unittesting framework" OFF )
|
||||
IF(SCL_ENABLE_TESTING)
|
||||
if( NOT DEFINED SCL_BUILD_SCHEMAS )
|
||||
set( SCL_BUILD_SCHEMAS "ALL" ) #test all schemas, unless otherwise specified
|
||||
endif()
|
||||
INCLUDE(CTest)
|
||||
ENABLE_TESTING()
|
||||
ENDIF(SC_ENABLE_TESTING)
|
||||
ENDIF(SCL_ENABLE_TESTING)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# Coverage option
|
||||
OPTION_WITH_DEFAULT( SCL_ENABLE_COVERAGE "Enable code coverage test" OFF )
|
||||
IF(SCL_ENABLE_COVERAGE)
|
||||
SET(SCL_ENABLE_TESTING ON CACHE BOOL "Testing enabled by coverage option" FORCE)
|
||||
# build static libs, better coverage report
|
||||
SET(SCL_BUILD_SHARED_LIBS OFF CACHE BOOL "Build shared libs" FORCE )
|
||||
SET(SCL_BUILD_STATIC_LIBS ON CACHE BOOL "Build static libs" FORCE )
|
||||
SET(CMAKE_CXX_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
|
||||
SET(CMAKE_C_FLAGS_DEBUG "-O0 -g -fprofile-arcs -ftest-coverage" CACHE STRING "Extra compile flags required by code coverage" FORCE)
|
||||
SET(CMAKE_MODULE_LINKER_FLAGS_DEBUG "-fprofile-arcs -ftest-coverage" CACHE STRING "Extra linker flags required by code coverage" FORCE)
|
||||
SET(SCL_BUILD_TYPE "Debug" CACHE STRING "Build type required by testing framework" FORCE)
|
||||
ENDIF(SCL_ENABLE_COVERAGE)
|
||||
|
||||
#---------------------------------------------------------------------
|
||||
# The following logic is what allows binaries to run successfully in
|
||||
@@ -175,59 +164,58 @@ set(CMAKE_INSTALL_RPATH_USE_LINK_PATH TRUE)
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Output directories.
|
||||
IF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
|
||||
ENDIF(NOT DEFINED CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
IF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
|
||||
ENDIF(NOT DEFINED CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
|
||||
IF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
|
||||
ENDIF(NOT DEFINED CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
||||
IF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
|
||||
ENDIF(NOT CMAKE_LIBRARY_OUTPUT_DIRECTORY)
|
||||
IF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
|
||||
ENDIF(NOT CMAKE_ARCHIVE_OUTPUT_DIRECTORY)
|
||||
IF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
|
||||
ENDIF(NOT CMAKE_RUNTIME_OUTPUT_DIRECTORY)
|
||||
|
||||
FOREACH(CFG_TYPE ${CMAKE_CONFIGURATION_TYPES})
|
||||
STRING(TOUPPER "${CFG_TYPE}" CFG_TYPE)
|
||||
IF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
|
||||
SET("CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all libraries.")
|
||||
ENDIF(NOT "CMAKE_LIBRARY_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
IF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
|
||||
SET("CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/lib CACHE INTERNAL "Single output directory for building all archives.")
|
||||
ENDIF(NOT "CMAKE_ARCHIVE_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
IF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SC_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
|
||||
SET("CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}" ${SCL_BINARY_DIR}/bin CACHE INTERNAL "Single output directory for building all executables.")
|
||||
ENDIF(NOT "CMAKE_RUNTIME_OUTPUT_DIRECTORY_${CFG_TYPE}")
|
||||
ENDFOREACH()
|
||||
|
||||
|
||||
#-----------------------------------------------------------------------------
|
||||
# Configure install locations.
|
||||
# Configure install locations.
|
||||
|
||||
# The location in which to install SC. Need a good Debug location
|
||||
# The location in which to install SCL. Need a good Debug location
|
||||
# for Windows. Only do this if CMAKE_INSTALL_PREFIX hasn't been set
|
||||
# already, to try and allow parent builds (if any) some control.
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
IF(NOT WIN32)
|
||||
IF (${CMAKE_BUILD_TYPE} MATCHES "Debug")
|
||||
SET(SC_INSTALL_PREFIX "${SC_SOURCE_DIR}/../sc-install")
|
||||
SET(SCL_INSTALL_PREFIX "${SCL_SOURCE_DIR}/../scl-install")
|
||||
ELSE()
|
||||
SET(SC_INSTALL_PREFIX "/usr/local")
|
||||
SET(SCL_INSTALL_PREFIX "/usr/local")
|
||||
ENDIF()
|
||||
ENDIF(NOT WIN32)
|
||||
SET( SC_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE
|
||||
SET( SCL_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE
|
||||
PATH "Install prefix prepended to target to create install location" )
|
||||
SET( CMAKE_INSTALL_PREFIX ${SC_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
SET( CMAKE_INSTALL_PREFIX ${SCL_INSTALL_PREFIX} CACHE INTERNAL "Prefix prepended to install directories if target destination is not absolute, immutable" FORCE )
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
|
||||
OPTION(SC_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
|
||||
MARK_AS_ADVANCED(SC_BUILD_EXPRESS_ONLY)
|
||||
OPTION(SCL_BUILD_EXPRESS_ONLY "Only build express parser." OFF)
|
||||
MARK_AS_ADVANCED(SCL_BUILD_EXPRESS_ONLY)
|
||||
|
||||
# Take the sc config file template as the starting point for
|
||||
# sc_cf.h.in - scripts may need to append to the template, so
|
||||
# Take the scl config file template as the starting point for
|
||||
# scl_cf.h.in - scripts may need to append to the template, so
|
||||
# it is read into memory initially.
|
||||
SET(CONFIG_H_FILE ${SC_BINARY_DIR}/include/sc_cf.h.in)
|
||||
set_source_files_properties(${CONFIG_H_FILE} PROPERTIES GENERATED TRUE)
|
||||
set(CMAKE_CURRENT_PROJECT SC)
|
||||
define_property(GLOBAL PROPERTY SC_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SC project")
|
||||
SET(CONFIG_H_FILE ${SCL_BINARY_DIR}/include/scl_cf.h.in)
|
||||
set(CMAKE_CURRENT_PROJECT SCL)
|
||||
define_property(GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS BRIEF_DOCS "config.h.in contents" FULL_DOCS "config.h.in contents for SCL project")
|
||||
if(NOT COMMAND CONFIG_H_APPEND)
|
||||
macro(CONFIG_H_APPEND PROJECT_NAME NEW_CONTENTS)
|
||||
if(PROJECT_NAME)
|
||||
@@ -237,67 +225,8 @@ if(NOT COMMAND CONFIG_H_APPEND)
|
||||
endif(PROJECT_NAME)
|
||||
endmacro(CONFIG_H_APPEND NEW_CONTENTS)
|
||||
endif(NOT COMMAND CONFIG_H_APPEND)
|
||||
file(READ ${SC_SOURCE_DIR}/include/sc_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
|
||||
CONFIG_H_APPEND(SC "${CONFIG_H_FILE_CONTENTS}")
|
||||
|
||||
# The Express parser uses the tools Perplex, RE2C and Lemon to generate code
|
||||
# from higher level inputs. Depending on available tools and options, the
|
||||
# SC build can either re-generate code as part of the build, or use cached
|
||||
# files that are ready for compilation.
|
||||
#
|
||||
# SC_GENERATE_LEXER_PARSER is the "high level" control a user sets to determine
|
||||
# how the SC build will interact (or not) with these tools. AUTO (the
|
||||
# default) means it will search for the necessary tools, and use them only if
|
||||
# everything is found. If not, it will fall back to the cached versions. If
|
||||
# this option is set to ON and the necessary tools are not found, the
|
||||
# configure step will fail. If it is set to OFF, SC will not even try to use
|
||||
# the generators and will instead use the cached sources.
|
||||
if(NOT SC_GENERATE_LEXER_PARSER)
|
||||
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
|
||||
else(NOT SC_GENERATE_LEXER_PARSER)
|
||||
string(TOUPPER "${SC_GENERATE_LEXER_PARSER}" SC_GENERATE_LEXER_PARSER)
|
||||
endif(NOT SC_GENERATE_LEXER_PARSER)
|
||||
set_property(CACHE SC_GENERATE_LEXER_PARSER PROPERTY STRINGS AUTO ON OFF)
|
||||
if (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
|
||||
message(WARNING "Unknown value ${SC_GENERATE_LEXER_PARSER} supplied for BRLCAD_WORD_SIZE - defaulting to AUTO")
|
||||
message(WARNING "Valid options are AUTO, ON and OFF")
|
||||
set(SC_GENERATE_LEXER_PARSER "AUTO" CACHE STRING "Use Perplex, RE2C and Lemon to generate C source code.")
|
||||
endif (NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "AUTO" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON" AND NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
|
||||
|
||||
# If the generators have not been turned off, we need to check for them
|
||||
if(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
|
||||
find_package(LEMON)
|
||||
find_package(RE2C)
|
||||
find_package(PERPLEX)
|
||||
if(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
|
||||
# Templates may be anywhere - make sure we have a stable path if a relative
|
||||
# path was specified at CMake time
|
||||
get_filename_component(lemon_template_fpath "${LEMON_TEMPLATE}" ABSOLUTE)
|
||||
if(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
|
||||
get_filename_component(LEMON_TEMPLATE "${CMAKE_BINARY_DIR}/${LEMON_TEMPLATE}" ABSOLUTE)
|
||||
endif(NOT "${lemon_template_fpath}" STREQUAL "${LEMON_TEMPLATE}")
|
||||
get_filename_component(perplex_template_fpath "${PERPLEX_TEMPLATE}" ABSOLUTE)
|
||||
if(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
|
||||
get_filename_component(PERPLEX_TEMPLATE "${CMAKE_BINARY_DIR}/${PERPLEX_TEMPLATE}" ABSOLUTE)
|
||||
endif(NOT "${perplex_template_fpath}" STREQUAL "${PERPLEX_TEMPLATE}")
|
||||
|
||||
if(NOT COMMAND LEMON_TARGET)
|
||||
include(${SC_CMAKE_DIR}/LEMON_Util.cmake)
|
||||
endif(NOT COMMAND LEMON_TARGET)
|
||||
if(NOT COMMAND PERPLEX_TARGET)
|
||||
include(${SC_CMAKE_DIR}/PERPLEX_Util.cmake)
|
||||
endif(NOT COMMAND PERPLEX_TARGET)
|
||||
set(SC_GENERATE_LP_SOURCES 1)
|
||||
else(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
|
||||
if("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
|
||||
message(FATAL_ERROR "\nSC_GENERATE_LEXER_PARSER set to ON, but one or more components of the Perplex/RE2C/Lemon toolchain were not found.\n")
|
||||
else("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
|
||||
set(SC_GENERATE_LP_SOURCES 0)
|
||||
endif("${SC_GENERATE_LEXER_PARSER}" STREQUAL "ON")
|
||||
endif(LEMON_EXECUTABLE AND LEMON_TEMPLATE AND PERPLEX_EXECUTABLE AND PERPLEX_TEMPLATE AND RE2C_EXECUTABLE)
|
||||
else(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
|
||||
set(SC_GENERATE_LP_SOURCES 0)
|
||||
endif(NOT "${SC_GENERATE_LEXER_PARSER}" STREQUAL "OFF")
|
||||
file(READ ${SCL_SOURCE_DIR}/include/scl_cf_cmake.h.in CONFIG_H_FILE_CONTENTS)
|
||||
CONFIG_H_APPEND(SCL "${CONFIG_H_FILE_CONTENTS}")
|
||||
|
||||
INCLUDE(CheckLibraryExists)
|
||||
INCLUDE(CheckIncludeFile)
|
||||
@@ -305,6 +234,8 @@ INCLUDE(CheckFunctionExists)
|
||||
INCLUDE(CheckTypeSize)
|
||||
INCLUDE(CMakePushCheckState)
|
||||
INCLUDE(CheckCXXSourceRuns)
|
||||
INCLUDE(${SCL_CMAKE_DIR}/FindLEX.cmake)
|
||||
INCLUDE(${SCL_CMAKE_DIR}/FindYACC.cmake)
|
||||
|
||||
CHECK_INCLUDE_FILE(ndir.h HAVE_NDIR_H)
|
||||
CHECK_INCLUDE_FILE(stdarg.h HAVE_STDARG_H)
|
||||
@@ -344,24 +275,24 @@ cmake_push_check_state()
|
||||
CHECK_CXX_SOURCE_RUNS( "${TEST_STD_THREAD}" HAVE_STD_THREAD ) #quotes are *required*!
|
||||
cmake_pop_check_state()
|
||||
|
||||
# Now that all the tests are done, configure the sc_cf.h file:
|
||||
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SC_CONFIG_H_CONTENTS)
|
||||
# Now that all the tests are done, configure the scl_cf.h file:
|
||||
get_property(CONFIG_H_FILE_CONTENTS GLOBAL PROPERTY SCL_CONFIG_H_CONTENTS)
|
||||
file(WRITE ${CONFIG_H_FILE} "${CONFIG_H_FILE_CONTENTS}")
|
||||
configure_file(${CONFIG_H_FILE} ${SC_BINARY_DIR}/include/sc_cf.h)
|
||||
configure_file(${CONFIG_H_FILE} ${SCL_BINARY_DIR}/include/scl_cf.h)
|
||||
|
||||
################ create sc_version_string.h, http://stackoverflow.com/questions/3780667
|
||||
# Using 'ver_string' instead of 'sc_version_string.h' is a trick to force the
|
||||
################ create scl_version_string.h, http://stackoverflow.com/questions/3780667
|
||||
# Using 'ver_string' instead of 'scl_version_string.h' is a trick to force the
|
||||
# command to always execute when the custom target is built. It works because
|
||||
# a file by that name never exists.
|
||||
configure_file(${SC_CMAKE_DIR}/sc_version_string.cmake ${SC_BINARY_DIR}/sc_version_string.cmake @ONLY)
|
||||
configure_file(${SCL_CMAKE_DIR}/scl_version_string.cmake ${SCL_BINARY_DIR}/scl_version_string.cmake @ONLY)
|
||||
add_custom_target(version_string ALL DEPENDS ver_string )
|
||||
# creates sc_version_string.h using cmake script
|
||||
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/include/sc_version_string.h
|
||||
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SC_SOURCE_DIR}
|
||||
-DBINARY_DIR=${SC_BINARY_DIR}
|
||||
-P ${SC_BINARY_DIR}/sc_version_string.cmake)
|
||||
# sc_version_string.h is a generated file
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/include/sc_version_string.h
|
||||
# creates scl_version_string.h using cmake script
|
||||
add_custom_command(OUTPUT ver_string ${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
|
||||
COMMAND ${CMAKE_COMMAND} -DSOURCE_DIR=${SCL_SOURCE_DIR}
|
||||
-DBINARY_DIR=${SCL_BINARY_DIR}
|
||||
-P ${SCL_BINARY_DIR}/scl_version_string.cmake)
|
||||
# scl_version_string.h is a generated file
|
||||
set_source_files_properties(${CMAKE_CURRENT_BINARY_DIR}/include/scl_version_string.h
|
||||
PROPERTIES GENERATED TRUE
|
||||
HEADER_FILE_ONLY TRUE )
|
||||
################
|
||||
@@ -378,8 +309,8 @@ else()
|
||||
endif()
|
||||
|
||||
include_directories(
|
||||
${SC_SOURCE_DIR}/include
|
||||
${SC_BINARY_DIR}/include
|
||||
${SCL_SOURCE_DIR}/include
|
||||
${SCL_BINARY_DIR}/include
|
||||
)
|
||||
|
||||
ADD_SUBDIRECTORY(src/base)
|
||||
@@ -391,34 +322,31 @@ ADD_SUBDIRECTORY(src/clstepcore)
|
||||
ADD_SUBDIRECTORY(src/cleditor)
|
||||
ADD_SUBDIRECTORY(src/cldai)
|
||||
ADD_SUBDIRECTORY(src/clutils)
|
||||
if(NOT WIN32)
|
||||
ADD_SUBDIRECTORY(src/cllazyfile)
|
||||
endif(NOT WIN32)
|
||||
ADD_SUBDIRECTORY(include)
|
||||
ADD_SUBDIRECTORY(data)
|
||||
IF(SC_ENABLE_TESTING)
|
||||
IF(SCL_ENABLE_TESTING)
|
||||
ADD_SUBDIRECTORY( test )
|
||||
ENDIF(SC_ENABLE_TESTING)
|
||||
ENDIF(SCL_ENABLE_TESTING)
|
||||
ADD_SUBDIRECTORY(doc)
|
||||
|
||||
# this is for testing - 'make core' builds everything that isn't generated
|
||||
add_custom_target( core )
|
||||
add_dependencies( core stepdai check-express stepeditor fedex_plus )
|
||||
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
###############################################################################
|
||||
# SC Packaging #
|
||||
# SCL Packaging #
|
||||
# $make package #
|
||||
###############################################################################
|
||||
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEPcode")
|
||||
SET(CPACK_PACKAGE_DESCRIPTION_SUMMARY "STEP Class Library")
|
||||
SET(CPACK_SET_DESTDIR "ON")
|
||||
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR ${SC_VERSION_MAJOR})
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR ${SC_VERSION_MINOR})
|
||||
SET(CPACK_PACKAGE_NAME SC )
|
||||
SET(CPACK_PACKAGE_VERSION_MAJOR ${SCL_VERSION_MAJOR})
|
||||
SET(CPACK_PACKAGE_VERSION_MINOR ${SCL_VERSION_MINOR})
|
||||
SET(CPACK_PACKAGE_NAME SCL )
|
||||
|
||||
SET(CPACK_PACKAGE_CONTACT "SC Developers <scl-dev@googlegroups.com>")
|
||||
SET(CPACK_PACKAGE_CONTACT "SCL Developers <scl-dev@googlegroups.com>")
|
||||
INCLUDE(CPack)
|
||||
|
||||
########################################################################################
|
||||
@@ -433,4 +361,4 @@ if(NOT SC_IS_SUBBUILD)
|
||||
add_custom_target(uninstall
|
||||
COMMAND ${CMAKE_COMMAND} -P ${CMAKE_CURRENT_BINARY_DIR}/cmake_uninstall.cmake)
|
||||
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
|
||||
@@ -2,7 +2,7 @@ Modifications to the original NIST code are (C)opyright by their
|
||||
respective authors. Unless otherwise specified, they are copyright
|
||||
on the date those changes were committed to whichever repository
|
||||
they were committed to first (i.e. BRL-CAD on SourceForge.net,
|
||||
mpictor/StepClassLibrary or stepcode/stepcode on github).
|
||||
mpictor/StepClassLibrary on github, etc).
|
||||
|
||||
Modifications which were first commited to the repository on github
|
||||
are licensed under the 3-clause BSD license below. Changes committed
|
||||
|
||||
@@ -1,8 +1,5 @@
|
||||
Recent changes are recorded in the publicly available repository:
|
||||
http://github.com/stepcode/stepcode
|
||||
|
||||
This repo was moved and renamed in May 2012. Previously, it was at
|
||||
http://github.com/mpictor/StepClassLibrary
|
||||
https://github.com/mpictor/StepClassLibrary
|
||||
|
||||
Some are duplicates of changes recorded in the BRL-CAD repo:
|
||||
http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?view=log
|
||||
@@ -10,7 +7,7 @@ http://brlcad.svn.sourceforge.net/viewvc/brlcad/brlcad/trunk/src/other/step/?vie
|
||||
Pre-BRL-CAD changes:
|
||||
************************************************************************
|
||||
Updates from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
|
||||
Jan 2005 - Mar 2006
|
||||
Jan 2005 - Mar 2006
|
||||
************************************************************************
|
||||
STEP Class Library Release 3.2 February 1998
|
||||
************************************************************************
|
||||
|
||||
@@ -1,15 +1,16 @@
|
||||
INSTALL
|
||||
|
||||
This file is contains installation instructions for STEPcode.
|
||||
This file is contains installation instructions for the
|
||||
STEP Class Library.
|
||||
|
||||
These installation requires that you have the following software
|
||||
available:
|
||||
|
||||
- C and C++ compilers (Tested with GCC, MSVC, Embarcadero)
|
||||
- CMake (v2.8.7 or greater)
|
||||
- bison, byacc, or yacc (only bison has been tested recently)
|
||||
- flex or lex (only flex has been tested recently)
|
||||
- CMake
|
||||
- mingw (only on Windows)
|
||||
- a lexer and parser (i.e. flex, bison) are NOT necessary anymore
|
||||
-if you modify the lexer or parser, you will need LEMON, RE2C, PERPLEX from BRL-CAD
|
||||
|
||||
--------------------
|
||||
Installation
|
||||
@@ -20,16 +21,16 @@ Installation
|
||||
* Build system uses CMake now: configure, Makefile, and all
|
||||
autotools files have been removed, as has mkProbe.
|
||||
|
||||
* Building SC from the command prompt:
|
||||
- cd sc
|
||||
* Building SCL from the command prompt:
|
||||
- cd scl
|
||||
- mkdir build
|
||||
- cd build
|
||||
- cmake ..
|
||||
- make
|
||||
- make install # optional
|
||||
|
||||
* Building SC from the GUI:
|
||||
- Run cmake-gui, set it to build in sc/build
|
||||
* Building SCL from the GUI:
|
||||
- Run cmake-gui, set it to build in scl/build
|
||||
- Select the correct build file generator
|
||||
- Press Configure
|
||||
- Change options as necessary, configuring again afterwards
|
||||
@@ -38,7 +39,7 @@ Installation
|
||||
- Open the main build file using your preferred build tool
|
||||
|
||||
* Build options (append to the 'cmake ..' line):
|
||||
-DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
|
||||
-DBUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
|
||||
- this generates c++ for the schema, and compiles it into a
|
||||
library. Also works with directories, as long as each dir only
|
||||
has one express file.
|
||||
@@ -47,23 +48,23 @@ Installation
|
||||
and writes another. It may change whitespace or remove comments;
|
||||
otherwise, the input and output files should be identical. If
|
||||
they are not identical, either the file does not match the
|
||||
schema, or SC generated incorrect source code.
|
||||
-DSC_BUILD_SCHEMAS=ALL
|
||||
- Added to make use of ctest easier. If SC_BUILD_SCHEMAS == ALL,
|
||||
schema, or SCL generated incorrect source code.
|
||||
-DBUILD_SCHEMAS=ALL
|
||||
- Added to make use of ctest easier. If BUILD_SCHEMAS == ALL,
|
||||
then CMake adds each *.exp file found in data/.
|
||||
-DSC_BUILD_TYPE=Release
|
||||
-DCMAKE_BUILD_TYPE=Release
|
||||
- this causes binaries to be built without debugging information
|
||||
- without this, cmake defaults to a Debug build
|
||||
|
||||
* Using CTest to test SC:
|
||||
* Using CTest to test SCL:
|
||||
- Read the comments in run_ctest.cmake
|
||||
- (OPTIONAL) Create sc/../.SC_CTEST_PREFS.cmake, and set variables
|
||||
- (OPTIONAL) Create scl/../.SCL_CTEST_PREFS.cmake, and set variables
|
||||
in it (this file is required for CDash submission to be enabled)
|
||||
- Run tests with `ctest -S run_ctest.cmake`
|
||||
|
||||
* Using CTest to regenerate the schema matrix on the github SC wiki:
|
||||
* Using CTest to regenerate the schema matrix on the github SCL wiki:
|
||||
- Requires:
|
||||
- git
|
||||
- python
|
||||
- a clone of the git repo for the wiki at sc/../wiki-sc
|
||||
- a clone of the git repo for the wiki at scl/../wiki-scl
|
||||
- run `ctest -S ctest_matrix.cmake`
|
||||
|
||||
@@ -1,37 +1,4 @@
|
||||
STEPcode -- http://github.com/stepcode/stepcode -- http://stepcode.org
|
||||
************************************************************************
|
||||
Release 0.7 (April, 2013)
|
||||
|
||||
New since v0.6:
|
||||
* Requires CMake 2.8.7 or later
|
||||
* Replace *ALL* references to SCL with SC - CMake, source, filenames.
|
||||
* Lazy loading code (src/cllazyfile)
|
||||
* greatly reduces memory requirements and loading time when not all
|
||||
instances are needed
|
||||
* doesn't work with complex instances yet
|
||||
* doesn't work on windows or 32-bit platforms yet
|
||||
* Merged all BRL-CAD changes; now, we can work on the same repo.
|
||||
* Eliminate compile-time dependency on a lexer and parser
|
||||
* When lexer/parser changes, use LEMON/RE2C/Perplex (in BRL-CAD repo)
|
||||
* Fixed several bugs in the class libraries that cause segfaults
|
||||
* update AP209, 210e3, 242, IFC2
|
||||
* Fixes for MSVC, Embarcadero (there are still problems with both:
|
||||
see comments on #178 & #190, also import/export macros)
|
||||
* Fixed NIST test executables
|
||||
************************************************************************
|
||||
Release 0.6 (May, 2012)
|
||||
|
||||
New since v0.5:
|
||||
* Renamed from STEP Class Library to STEPcode, moved to github.com/stepcode/stepcode
|
||||
* Advances in [Python](http://github.com/stepcode/stepcode/wiki/python-generator) support (#185)
|
||||
* ABI versioning
|
||||
* Implement memory manager with reporting of memory that isn't freed,
|
||||
fix many memory leaks (#148, #160, #162, #168)
|
||||
* MSVC fixes (> 128 nested if...else - #152), etc
|
||||
* Add AP219, AP238, PDM schema, AP203a1, syntax highlighting files
|
||||
* Improvements to CMake files, mostly from Cliff @ BRL-CAD (#143, #163, #181)
|
||||
* Allow runtime bounds for aggregates (discovered with AP209e2) (#166)
|
||||
* fedex_plus fprintf's can be traced with -DSCL_TRACE_FPRINTF=ON (#176)
|
||||
STEP Class Library ------ http://github.com/mpictor/StepClassLibrary
|
||||
************************************************************************
|
||||
Release 0.5 (Feb 23, 2012)
|
||||
|
||||
@@ -41,7 +8,7 @@ New since v0.4:
|
||||
* Now handles most features of EXPRESS - all included schemas,
|
||||
with the exception of AP209 CD, are parsed without error. Enums are
|
||||
now in their own dictionary. Allow indexing on aggregates, generics,
|
||||
and binaries.
|
||||
and binaries.
|
||||
* Changes to fedex_plus that improve the generated c++ - use a
|
||||
namespace, break up large static strings, make EXPRESS multiple
|
||||
inheritance work by not printing multiple copies of inherited members.
|
||||
@@ -61,7 +28,7 @@ New since v0.3:
|
||||
* Enums and entities are allowed to have the same names
|
||||
(affected ap242,210e3,209)
|
||||
* Remove the SCLP23 macro
|
||||
http://github.com/stepcode/stepcode/wiki/changelog-v0.4
|
||||
http://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.4
|
||||
************************************************************************
|
||||
|
||||
Release 0.3 (Oct 29, 2011)
|
||||
@@ -91,10 +58,10 @@ What's new since v0.1?
|
||||
* Add BNF files, schemas, and CAX-IF Part 21 files
|
||||
|
||||
For a detailed list of changes, see
|
||||
https://github.com/stepcode/stepcode/wiki/changelog-v0.2
|
||||
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.2
|
||||
|
||||
For a list of closed issues, see
|
||||
https://github.com/stepcode/stepcode/issues?state=closed&milestone=2
|
||||
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=2
|
||||
|
||||
************************************************************************
|
||||
|
||||
@@ -117,10 +84,10 @@ What's new since the SCL 3.2 release in 1998?
|
||||
parser debug output to a specified range of lines in the schema.
|
||||
|
||||
For a detailed list of changes, see
|
||||
https://github.com/stepcode/stepcode/wiki/changelog-v0.1
|
||||
https://github.com/mpictor/StepClassLibrary/wiki/changelog-v0.1
|
||||
|
||||
For a list of closed issues, see
|
||||
https://github.com/stepcode/stepcode/issues?state=closed&milestone=1
|
||||
https://github.com/mpictor/StepClassLibrary/issues?state=closed&milestone=1
|
||||
|
||||
Pre-BRL-CAD changes:
|
||||
* Patches from http://www.statik.tu-cottbus.de/fileadmin/project_dth/scl/
|
||||
@@ -209,7 +176,7 @@ types, entities, and attributes.
|
||||
- Fixed a bug in the casting functions for the classes handling
|
||||
instances of SELECT TYPEs in EXPRESS.
|
||||
e.g.
|
||||
SdaiMeasure_value::operator SDAI_Real)(
|
||||
SdaiMeasure_value::operator SCLP23(Real)()
|
||||
{
|
||||
// was missing stmts such as these...
|
||||
if( CurrentUnderlyingType () == config_control_designt_area_measure )
|
||||
@@ -326,10 +293,10 @@ classes is what allows for the flexibility in dealing with problem
|
||||
areas when using SCL with other software.
|
||||
|
||||
An example of a name change and macro use: sdaiString has now become
|
||||
SDAI_String which could translate to SDAI::String or SDAI_String
|
||||
SCLP23(String) which could translate to SDAI::String or SDAI_String
|
||||
(depending on whether you use the SDAI namespace or not) or any other
|
||||
namespace or prefix as is necessary. To change the SDAI namespace name
|
||||
or prefix name the macro definition for SDAI_ could be changed in
|
||||
or prefix name the macro definition for SCLP23() could be changed in
|
||||
the sclprefixes.h file.
|
||||
|
||||
The early bound access functions that are generated by fedex_plus from
|
||||
|
||||
@@ -1,34 +1,32 @@
|
||||
***********************************************************************
|
||||
STEPcode v0.7 -- stepcode.org, github.com/stepcode/stepcode
|
||||
Step Class Library v0.5 -- http://github.com/mpictor/StepClassLibrary
|
||||
|
||||
* What is STEPcode? SC reads ISO10303-11 EXPRESS schemas and generates
|
||||
* What is SCL? SCL reads ISO10303-11 EXPRESS schemas and generates
|
||||
C++ source code that can read and write Part 21 files conforming
|
||||
to that schema. In addition to C++, SC includes experimental
|
||||
to that schema. In addition to C++, v0.5 includes experimental
|
||||
support for Python.
|
||||
|
||||
* SCL is packaged along with some other tools. See
|
||||
"THE NIST STEP TOOLSET", below. In particular, Data Probe
|
||||
requires InterViews, an obsolete UI toolkit. I (mpictor) have not
|
||||
had luck building the data probe with it. It may be more productive
|
||||
to replace InterViews with a modern toolkit such as Qt. I
|
||||
expect that this would be non-trivial.
|
||||
|
||||
* Renamed in April/May 2012: SC was formerly known as STEP Class
|
||||
Libraries, SCL for short. It was renamed because the name wasn't
|
||||
accurate: the class libraries make up only a part of the code.
|
||||
|
||||
* Much of the work to update SC has been done by the developers of
|
||||
BRL-CAD, and SC (then STEP Class Library) was originally created at
|
||||
NIST in the 90's.
|
||||
|
||||
* For information on changes version-by-version, see the NEWS file
|
||||
* Much of the work to update SCL has been done by the developers of
|
||||
BRL-CAD, and SCL was originally created at NIST in the 90's.
|
||||
|
||||
* Build system uses only CMake now: configure, Makefile, and all
|
||||
autotools files have been removed, as has mkProbe.
|
||||
|
||||
* Building and testing SCL - see the INSTALL file
|
||||
|
||||
* For more details on the libraries and executables, see the wiki:
|
||||
http://github.com/stepcode/stepcode/wiki/About-STEPcode
|
||||
|
||||
* For license details, see the COPYING file. Summary: 3-clause BSD.
|
||||
|
||||
***********************************************************************
|
||||
|
||||
***********************************************************************
|
||||
CODING STANDARDS
|
||||
|
||||
SC's source has been reformatted with astyle. When making changes, try
|
||||
SCL's source has been reformatted with astyle. When making changes, try
|
||||
to match the current formatting. The main points are:
|
||||
|
||||
- compact (java-style) brackets:
|
||||
@@ -49,9 +47,547 @@ to match the current formatting. The main points are:
|
||||
(see http://www.stack.nl/~dimitri/doxygen/docblocks.html)
|
||||
|
||||
If in doubt about a large patch, run astyle with the config file
|
||||
misc/astyle.cfg.
|
||||
misc/astyle.cfg.
|
||||
Download astyle from http://sourceforge.net/projects/astyle/files/astyle/
|
||||
|
||||
***********************************************************************
|
||||
|
||||
For more info, see the wiki.
|
||||
|
||||
***********************************************************************
|
||||
Notes/TODO items specific to the STEP libraries as included in BRL-CAD:
|
||||
|
||||
* Original build system has been replaced with Makefile.am and
|
||||
configure.ac files in the style of BRL-CAD's autotools build
|
||||
system.
|
||||
|
||||
* Changes have been made to src/express to get it compiling with
|
||||
the output of different versions of lex/flex/bison. These
|
||||
changes are not yet tested in terms of impact on functionality
|
||||
and should be a starting point for any debugging of EXPRESS
|
||||
parsing issues.
|
||||
|
||||
* Of the original test code, only p21read has been incorporated into
|
||||
the new build system, but they are still present in src/test
|
||||
|
||||
* Express and exppp header files have been relocated to subdirectories
|
||||
in include. The names of the library files being built have been
|
||||
altered, and clstepcore and cleditor now build as separate libraries.
|
||||
|
||||
* Numerous minor changes have been made, mostly including stdlib
|
||||
and other required files.
|
||||
|
||||
***********************************************************************
|
||||
|
||||
|
||||
=====================================================
|
||||
Much has changed since README.scl was written.
|
||||
However, it is reproduced in its entirety below.
|
||||
=====================================================
|
||||
|
||||
README.scl (top level README) February 1998
|
||||
|
||||
THE NIST STEP TOOLSET
|
||||
=====================
|
||||
|
||||
Included in this release of the NIST STEP Toolset are
|
||||
|
||||
STEP Class Library (SCL)
|
||||
fedex_plus
|
||||
fedex_idl
|
||||
fedex_os
|
||||
Data Probe application
|
||||
Part 21 Reader application
|
||||
mkProbe script
|
||||
NIST EXPRESS Toolkit
|
||||
NIST EXPRESS Pretty Printing Toolkit
|
||||
|
||||
The focus of our work since our last release has been on developing a
|
||||
reference implementation of the binding of EXPRESS to C++ and IDL as
|
||||
specified by STEP's Parts 23 and 26 respectively. To this we have
|
||||
added a persistence capability (based on the ObjectStore OODB from
|
||||
Object Design, Inc) and a distribution capability (based on Orbix by
|
||||
Iona Technologies, Ltd). We also experimented with the Open OODB from
|
||||
Texas Instruments and with DSOM from IBM.
|
||||
|
||||
The STEP Class Library (SCL) and fedex_plus are used to build
|
||||
STEP-related applications in C++. They support STEP Parts 21 (the
|
||||
exchange file format), 22 (the functional specification of STEP's
|
||||
Standard Data Access Interface, SDAI), 23 (the C++ binding to SDAI),
|
||||
and 26 (the IDL interface to SDAI). fedex_plus is an application of
|
||||
the NIST EXPRESS Toolkit (based on STEP Part 11) which generates a C++
|
||||
class library representation of an EXPRESS schema based on STEP's Part
|
||||
23. The generated classes work with the STEP Class Library. The NIST
|
||||
EXPRESS Pretty Printing Toolkit is used to format and output EXPRESS.
|
||||
fedex_os is used to generate software (in addition to fedex_plus)
|
||||
needed to use SCL with the ObjectStore OODB. fedex_idl translates
|
||||
EXPRESS to the Interface Definition Language (according to Part 26)
|
||||
for use with Orbix.
|
||||
|
||||
The Data Probe software and mkProbe script are used to generate
|
||||
schema-specific class libraries (a.k.a. "Schema Class Library"), Data
|
||||
Probe editors, and Part 21 file readers. mkProbe generates a C++
|
||||
library representing a schema (using fedex_plus) and links the schema
|
||||
library with other libraries of the SCL and Data Probe to create a
|
||||
schema specific editor, known as a Data Probe. The Data Probe is a
|
||||
graphical editor for STEP data; it is used to browse and edit data
|
||||
instances of the objects in an EXPRESS model. It may also be used to
|
||||
visually browse the objects contained in the EXPRESS schema itself.
|
||||
Data Probes are X Windows-based and use the InterViews Toolkit from
|
||||
Stanford University.
|
||||
|
||||
The Data Probe source code was designed with reusability in mind. The
|
||||
runtime-code uses three class libraries: the STEP Class Library
|
||||
(developed at NIST), the InterViews Toolkit (user interface
|
||||
developer's toolkit from Stanford), and a standard C++ Class Library.
|
||||
The NIST STEP Class Library is divided into component libraries
|
||||
including STEP Core, Editor, Utilities, Data Access Interface,
|
||||
Interviews extensions, and Probe. The STEP Core, Editor, and Utils
|
||||
libraries can be used without the user interface libraries (Interviews
|
||||
extensions and Probe) for applications needing to represent the
|
||||
EXPRESS data structures. At this point the Data Access Interface is a
|
||||
partial implementation of SDAI's Session schema.
|
||||
|
||||
Dependencies between these modules have been minimized so that an
|
||||
executable program, the Data Probe, can be easily reconfigured to
|
||||
support different conceptual schemas.
|
||||
|
||||
We have experimented with replacing the Interviews-based interface
|
||||
with a tcl interface with good success; however, it is not in our work
|
||||
plan to complete. If anyone is interested in extending the toolkit
|
||||
with a more modern interface, we would be glad to discuss it with you.
|
||||
|
||||
The Part 21 Reader was originally developed to test whether a Schema
|
||||
Class built and linked without problems. It is also useful for
|
||||
checking Part 21 files. It displays the error messages from the STEP
|
||||
Class Library as a file is read.
|
||||
|
||||
|
||||
SYSTEM REQUIREMENTS
|
||||
===================
|
||||
|
||||
Depending on how you want to use the toolkit, additional pieces of
|
||||
software will need to be available on your local system:
|
||||
|
||||
- UNIX SunOS 4.1.x or Solaris 5.x operating system.
|
||||
At NIST, the SCL including the Data Probe has been built on
|
||||
SunOS workstations. The SCL without the Data Probe has been
|
||||
built on Solaris. (We did not build the InterViews Library
|
||||
on Solaris.) NOTE: earlier versions of the SCL 2.1 without
|
||||
the Data Probe had been ported to AIX, HP, linux, and Windows NT.
|
||||
|
||||
- a C++ compiler -- cfront version 2.1 or higher
|
||||
|
||||
NOTE: The current SCL release has been built with SUN C/C++,
|
||||
and GNU's gcc/g++ compilers. Earlier versions of the SCL were
|
||||
built using CenterLine on SunOS and CSet++ on AIX.
|
||||
|
||||
If you successfully port the current version to other
|
||||
compilers and/or operating systems (and are willing to share)
|
||||
please contact us (stepcl@cme.nist.gov) so that we can point
|
||||
others to it.
|
||||
|
||||
- The NIST EXPRESS Toolkit -- available from NIST
|
||||
Included in this release; also available as:
|
||||
ftp.cme.nist.gov:pub/step/npttools/exptk.tar.Z
|
||||
|
||||
- The NIST EXPRESS Pretty Printer -- available from NIST
|
||||
Included in this release; also available as:
|
||||
ftp.cme.nist.gov:pub/step/npttools/exppp.tar.Z
|
||||
|
||||
The following components are optional:
|
||||
|
||||
- Version 3.1 of the InterViews Toolkit from Stanford.
|
||||
ftp://interviews.stanford.edu:pub/3.1.tar.Z
|
||||
|
||||
NOTE: InterViews is only needed for the Data Probe portion of
|
||||
the toolkit. The STEP Class Library without the Data Probe
|
||||
and InterViews has been built on more platforms than with these
|
||||
components.
|
||||
|
||||
- Orbix version 2.0. Available from Iona Technologies:
|
||||
http://www.iona.com
|
||||
|
||||
- Object Store version 4. Available from Object Design Inc.:
|
||||
http://www.odi.com.
|
||||
|
||||
|
||||
INSTALLATION INSTRUCTIONS
|
||||
=========================
|
||||
|
||||
Refer to the file INSTALL.
|
||||
|
||||
In the instructions below, you will see references to the directory
|
||||
<ARCH_DIR>. This directory name should be interpreted as the directory
|
||||
which is named to reflect your compiler and/or system architecture
|
||||
when installing the SCL using configure: i.e. "arch.centerline" or
|
||||
"arch-gnu.solaris"
|
||||
|
||||
|
||||
CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE
|
||||
=====================================================
|
||||
|
||||
The <ARCH_DIR>/bin/mkProbe script automates the process of building
|
||||
new Schema Class Libraries and Data Probe executables. When run with
|
||||
the -l option only the Schema Class Library will be created. See man
|
||||
page in ~scl/man.
|
||||
|
||||
Examples
|
||||
|
||||
Input command line output (name and location)
|
||||
----------------------------------------------------
|
||||
mkProbe part41.exp pt41 ./pt41/dp_pt41
|
||||
|
||||
mkProbe -i part101.exp dp ~scl/<ARCH_DIR>/Probes/dp/dp_dp
|
||||
|
||||
mkProbe -l example.exp example ./example/libCexample.a
|
||||
|
||||
mkProbe -p example.exp example ./example/p21read_example
|
||||
|
||||
|
||||
CONTENTS
|
||||
========
|
||||
|
||||
This directory contains the following files and subdirectories.
|
||||
|
||||
This software release includes all the NIST software needed for
|
||||
creating new versions of the Data Probe program. Two example schemas
|
||||
are included in the data directory.
|
||||
|
||||
INSTALL - File discussing installation of SCL.
|
||||
|
||||
README.scl - This file.
|
||||
|
||||
src/test/README - README discussing SCL coding examples under src/test/
|
||||
|
||||
disclaim.txt - NIST disclaimer for this distribution.
|
||||
|
||||
build-apps.txt - Discusses how to build applications using the STEP
|
||||
Class Library.
|
||||
|
||||
whatsnew.3-1.txt- Discusses new features in the STEP Class Library and
|
||||
Data Probe 3.1 release.
|
||||
|
||||
whatsnew.2-1.txt- This was the `whatsnew' file released with SCL 2.1.
|
||||
Most of the information is still relevant.
|
||||
|
||||
configure - Script used to install the SCL.
|
||||
|
||||
configure.in - File used to create the configure script using gnu's
|
||||
autoconf software.
|
||||
|
||||
configure.files_notes.txt - Discusses various files used by the
|
||||
configure script.
|
||||
|
||||
Makefile - Contains a default rule to build SCL using the
|
||||
configure installation script.
|
||||
|
||||
<ARCH_DIR>/bin/mkProbe - Script used to generate a new Schema Class Library
|
||||
and/or Data Probe executable.
|
||||
(see CREATING A NEW SCHEMA CLASS LIBRARY AND/OR DATA PROBE)
|
||||
|
||||
config/ - Directory containing various templates needed by the
|
||||
configure installation script.
|
||||
|
||||
config/examples/ - Directory containing examples of using configure to
|
||||
install SCL.
|
||||
|
||||
arch_template/ - Directory containing templates used by configure to
|
||||
create an architecture specific SCL installation.
|
||||
|
||||
src/ - Source code files for the C++ libraries included in this
|
||||
release.
|
||||
|
||||
src/cl* - Directories containing the source code for the C++
|
||||
libraries in the STEP Class Library. These
|
||||
libraries are documented in the VTS Design document
|
||||
(see DOCUMENTATION below). They are as follows:
|
||||
|
||||
src/clutils - utilities needed by the other libraries.
|
||||
|
||||
src/clstepcore - "core" classes representing EXPRESS types
|
||||
and dictionary info.
|
||||
|
||||
src/cldai - classes for a partial implementation of the
|
||||
Session schema of STEP's Standard Data
|
||||
Access Interface (STEP Part 23).
|
||||
|
||||
src/cleditor - classes for managing data instances and
|
||||
exchange files.
|
||||
|
||||
src/clivfasd - customizations to the Interviews class
|
||||
library.
|
||||
|
||||
src/clprobe-ui - user interface classes for the Data Probe.
|
||||
|
||||
src/clSchemas - Contain subdirectories with schema specific source
|
||||
code generated by the mkProbe script.
|
||||
|
||||
src/express - Directory containing the EXPRESS Toolkit.
|
||||
|
||||
src/exppp - Directory containing EXPRESS Pretty Printer Toolkit.
|
||||
|
||||
src/test - Directory containing example STEP Class Library
|
||||
applications.
|
||||
|
||||
src/fedex_plus - Directory containing source code and makefile for
|
||||
fedex_plus, fedex_idl, fedex_os
|
||||
|
||||
<ARCH_DIR>
|
||||
|
||||
- <ARCH_DIR> is the installer-supplied name of the
|
||||
directory which is created when you run configure to
|
||||
install SCL. (See the file INSTALL for more
|
||||
information.) This directory contains computer
|
||||
architecture-specific files. Additional arch dirs
|
||||
may be created to support multiple platforms or C++
|
||||
compilers which all refer to the same source
|
||||
code under src/. The arch dir contains the subdirectories
|
||||
ofiles, bin, lib, and Probes.
|
||||
|
||||
<ARCH_DIR>/ofiles/ - Directory containing object (.o) files for SCL.
|
||||
|
||||
<ARCH_DIR>/ofiles/sdaiOrbix - Directory containing IDL files and
|
||||
Makefile needed to build and use SCL with Orbix.
|
||||
|
||||
<ARCH_DIR>/lib/ - Directory containing library (.a) files for SCL.
|
||||
|
||||
<ARCH_DIR>/Probes/ - The <ARCH_DIR>/Probes directory will contain
|
||||
directories for versions of the Schema Class Library
|
||||
and Data Probe generated using the mkProbe script
|
||||
with the -i option.
|
||||
|
||||
<ARCH_DIR>/bin/ - The fedex, fedex_plus, fedex_idl, and fedex_os,
|
||||
exppp, and symlink executables and mkProbe,
|
||||
sclbuild, and setup-arch scripts are placed in this
|
||||
directory during installation.
|
||||
|
||||
data/ - Directory containing sample EXPRESS files to use to
|
||||
create SCL applications such as the Data Probe or
|
||||
Part 21 Reader. Also contains data for some of the
|
||||
examples.
|
||||
|
||||
bin/ - Directory containing various scripts.
|
||||
|
||||
man/ - Directory containing man pages for the software in
|
||||
the release. You may look at the man page by
|
||||
issuing the command: nroff -man <manpagefile> or by
|
||||
adding this directory to your MANPATH.
|
||||
|
||||
|
||||
EXAMPLES
|
||||
========
|
||||
|
||||
Example of creating a Data Probe
|
||||
--------------------------------
|
||||
|
||||
To create a new version of the Data Probe run the script mkProbe. For
|
||||
example, to create a Data Probe based on the "example_schema" EXPRESS
|
||||
schema included in this release, issue the following command in a
|
||||
directory from which you would like a subdirectory containing the new
|
||||
Data Probe to be created:
|
||||
|
||||
% mkProbe ~scl/data/example/example.exp example
|
||||
|
||||
This command creates a new version of the Data Probe in the file:
|
||||
|
||||
% ./example/dp_example
|
||||
|
||||
(It also creates subdirectory example/ if it does not exist already.)
|
||||
|
||||
|
||||
Examples of using the STEP Class Library
|
||||
----------------------------------------
|
||||
|
||||
To use the Schema Class Library source code (without the Data Probe
|
||||
software) refer to the examples in the directory src/test.
|
||||
|
||||
Example of a Part 21 file reader
|
||||
--------------------------------
|
||||
|
||||
To create a file reader based on STEP's Part 21 format use the mkProbe
|
||||
script with the -p option.
|
||||
|
||||
% mkProbe -p ~scl/data/example/example.exp example
|
||||
|
||||
The executable p21read_example is created. Run it as follows:
|
||||
|
||||
% p21read_example your_part_21_file
|
||||
|
||||
This program reads a file the name of which is supplied as an
|
||||
argument to the program. Any errors encountered when reading the file
|
||||
are reported to standard output. A summary of the file is also
|
||||
reported. The file is then written back out to a file the name of
|
||||
which may be supplied as the second argument to the program. If no
|
||||
name is given, "file.out" is used.
|
||||
|
||||
|
||||
FOR MORE INFORMATION
|
||||
====================
|
||||
|
||||
SCL HOME PAGE
|
||||
-------------
|
||||
|
||||
The SCL home page is located on the world wide web at,
|
||||
|
||||
http://www.nist.gov/scl
|
||||
|
||||
The SCL home page will provide important, up-to-date information on
|
||||
the status of the SCL, new developments and fixes, links to related
|
||||
software and projects, and may eventually contain an FAQ sheet.
|
||||
|
||||
SCL DOCUMENTATION
|
||||
-----------------
|
||||
|
||||
Documentation can be accessed from the SCL world wide web home page
|
||||
located at http://www.nist.gov/scl
|
||||
The following files (in postscript format) are particularly relevant:
|
||||
|
||||
Design of a C++ Software Library for Implementing EXPRESS: The NIST
|
||||
STEP Class Library
|
||||
|
||||
Data Probe User's Guide
|
||||
|
||||
Data Probe: A Tool for EXPRESS-based Data
|
||||
|
||||
Architecture for the Validation Testing System Software
|
||||
|
||||
Validation Testing System Software Reusable Software Component Design
|
||||
|
||||
Diagrams of basic SCL data structures
|
||||
|
||||
|
||||
ISO DOCUMENTATION
|
||||
-----------------
|
||||
|
||||
Copies of the International Standard documents (including STEP Part 11
|
||||
the EXPRESS Language Reference Manual, Part 21 the STEP Exchange File
|
||||
Format, Part 22 STEP's Standard Data Access Interface, and Part 23 the
|
||||
C++ language binding to SDAI) can be ordered from the ISO
|
||||
International Organization of Standardization or your national
|
||||
body. The United States distribution is managed by the US Product Data
|
||||
Exchange Association at:
|
||||
|
||||
U.S. Product Data Association (USPro)
|
||||
Trident Research Center, Suite 204
|
||||
5300 International Blvd.
|
||||
N. Charleston, SC 29418
|
||||
|
||||
http://www.uspro.scra.org
|
||||
uspro@scra.org
|
||||
Ph: 803-760-3327
|
||||
FAX: 803-760-3349
|
||||
|
||||
MAILING LIST
|
||||
------------
|
||||
|
||||
Announcements of new releases or bug fixes will also be sent to the
|
||||
mailing list scl@cme.nist.gov. To be added to the scl mailing list
|
||||
send a request to majordomo@cme.nist.gov. Include in the body of the
|
||||
message:
|
||||
|
||||
subscribe scl
|
||||
|
||||
For additional help, include in the body of the message:
|
||||
|
||||
help
|
||||
|
||||
If you use a signature within your email, end your majordomo
|
||||
command sequence with the word "end". For example,
|
||||
|
||||
subscribe scl
|
||||
end
|
||||
|
||||
|
||||
REPORTING PROBLEMS AND SUGGESTIONS
|
||||
==================================
|
||||
|
||||
We would like feedback on all parts of the software. Please let us
|
||||
know if you
|
||||
|
||||
- have problems following the instructions in the README file,
|
||||
- have problems installing the software,
|
||||
- have problems compiling your own valid EXPRESS schema, or
|
||||
- have suggestions for improvements to the software.
|
||||
- really like the software :)
|
||||
|
||||
Send your comments to
|
||||
|
||||
stepcl@cme.nist.gov
|
||||
|
||||
(For users of version 2, note the new mailing address of "stepcl...".)
|
||||
|
||||
Questions about availability or accessing the software should be
|
||||
directed to the SOLIS administrator
|
||||
|
||||
Gaylen Rinaudot
|
||||
npt-info@cme.nist.gov
|
||||
301-975-3386
|
||||
|
||||
ACKNOWLEDGMENTS
|
||||
===============
|
||||
|
||||
The STEP Class Library (SCL) was developed by the Manufacturing
|
||||
Systems Integration Division at the National Institute of Standards
|
||||
and Technology (http://www.mel/nist.gov/msid) to support testing of
|
||||
the Standard for the Exchange of Product Model Data (a.k.a STEP) and
|
||||
validation of STEP's emerging implementation specifications. Funding
|
||||
for the project has come from the U.S. Department of Commerce, and the
|
||||
Department of Defense agencies including the Office of the Defense
|
||||
CALS (Continuous Acquisition and Life-Cycle Support) Executive and the
|
||||
Defense Advanced Research Projects Agency (DARPA). Recent
|
||||
enhancements were sponsored by the National Industrial Information
|
||||
Infrastructure Consortium (NIIIP) (http://www.niiip.org) and the NAMT
|
||||
Framework project
|
||||
(http://www.mel.nist.gov/msid/projs/97projs/framewrk.htm) of NIST's
|
||||
Systems Integration for Manufacturing Applications (SIMA) program
|
||||
(http://www.mel.nist.gov/msid/sima/sima.htm).
|
||||
|
||||
LICENSING RESTRICTIONS and DISCLAIMERS
|
||||
======================================
|
||||
|
||||
This software was produced by the National Institute of Standards and
|
||||
Technology (NIST), an agency of the U.S. government, and by statute
|
||||
is not subject to copyright in the United States. Recipients of this
|
||||
software assume all responsibility associated with its operation,
|
||||
modification, maintenance, and subsequent re-distribution.
|
||||
|
||||
There is no warranty for the NIST STEP Toolkit.
|
||||
If the NIST STEP Toolkit is modified by someone else and passed on,
|
||||
NIST wants the Toolkit's recipients to know that what they have is not
|
||||
what NIST originally distributed.
|
||||
|
||||
Distribution Rights
|
||||
1. Anyone may copy and distribute verbatim copies of the NIST STEP Toolkit
|
||||
source code as received in any medium.
|
||||
|
||||
2. Anyone may modify their copy or copies of the NIST STEP Toolkit source
|
||||
code or any portion of it, and copy and distribute such modifications
|
||||
provided that all modifications are clearly associated with the entity
|
||||
that performs the modifications.
|
||||
|
||||
!!!!!!!!!!!!!!!!!!!!!!!!!!!!DISCLAIMERS!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
|
||||
Names of companies and products are provided in order to adequately
|
||||
specify procedures and equipment used. In no case does such
|
||||
identification imply recommendation or endorsement by the National
|
||||
Institute of Standards and Technology, nor does it imply that the
|
||||
products are necessarily the best available for the purpose.
|
||||
|
||||
NO WARRANTY
|
||||
===========
|
||||
|
||||
NIST PROVIDES ABSOLUTELY NO WARRANTY. THE NIST STEP TOOLKIT
|
||||
IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND, EITHER
|
||||
EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
|
||||
THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS
|
||||
WITH YOU. SHOULD ANY PORTION OF THE NIST STEP TOOLKIT PROVE DEFECTIVE,
|
||||
YOU ASSUME THE COST OF ALL NECESSARY SERVICING, REPAIR, OR CORRECTION.
|
||||
|
||||
IN NO EVENT WILL NIST BE LIABLE FOR DAMAGES, INCLUDING ANY LOST
|
||||
PROFITS, LOST MONIES, OR OTHER SPECIAL, INCIDENTAL OR CONSEQUENTIAL
|
||||
DAMAGES ARISING OUT OF THE USE OR INABILITY TO USE (INCLUDING BUT NOT
|
||||
LIMITED TO LOSS OF DATA OR DATA BEING RENDERED INACCURATE, OR LOSSES
|
||||
SUSTAINED BY THIRD PARTIES, OR A FAILURE OF THE PROGRAM TO OPERATE
|
||||
WITH PROGRAMS NOT DISTRIBUTED BY NIST) THE PROGRAMS, EVEN IF YOU HAVE
|
||||
BEEN ADVISED OF THE POSSIBILITY OF SUCH DAMAGES, OR FOR ANY CLAIM BY
|
||||
ANY OTHER PARTY.
|
||||
|
||||
@@ -0,0 +1 @@
|
||||
0.5
|
||||
@@ -1 +0,0 @@
|
||||
0.7
|
||||
@@ -1,74 +0,0 @@
|
||||
#
|
||||
# - Find lemon executable and provides macros to generate custom build rules
|
||||
# The module defines the following variables
|
||||
#
|
||||
# LEMON_EXECUTABLE - path to the lemon program
|
||||
# LEMON_TEMPLATE - location of the lemon template file
|
||||
|
||||
#=============================================================================
|
||||
# F I N D L E M O N . C M A K E
|
||||
#
|
||||
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
|
||||
#
|
||||
# Copyright (c) 2010-2012 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
find_program(LEMON_EXECUTABLE lemon DOC "path to the lemon executable")
|
||||
mark_as_advanced(LEMON_EXECUTABLE)
|
||||
|
||||
if(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
|
||||
get_filename_component(lemon_path ${LEMON_EXECUTABLE} PATH)
|
||||
if(lemon_path)
|
||||
set(LEMON_TEMPLATE "")
|
||||
if(EXISTS ${lemon_path}/lempar.c)
|
||||
set(LEMON_TEMPLATE "${lemon_path}/lempar.c")
|
||||
endif(EXISTS ${lemon_path}/lempar.c)
|
||||
if(EXISTS /usr/share/lemon/lempar.c)
|
||||
set(LEMON_TEMPLATE "/usr/share/lemon/lempar.c")
|
||||
endif(EXISTS /usr/share/lemon/lempar.c)
|
||||
endif(lemon_path)
|
||||
endif(LEMON_EXECUTABLE AND NOT LEMON_TEMPLATE)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEMON DEFAULT_MSG LEMON_EXECUTABLE LEMON_TEMPLATE)
|
||||
mark_as_advanced(LEMON_TEMPLATE)
|
||||
|
||||
#============================================================
|
||||
# FindLEMON.cmake ends here
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -0,0 +1,161 @@
|
||||
# - Find lex executable and provides a macro to generate custom build rules
|
||||
#
|
||||
# The module defines the following variables:
|
||||
# LEX_FOUND - true is lex executable is found
|
||||
# LEX_EXECUTABLE - the path to the lex executable
|
||||
# LEX_LIBRARIES - The lex libraries
|
||||
#
|
||||
# If lex is found on the system, the module provides the macro:
|
||||
# LEX_TARGET(Name FlexInput FlexOutput [COMPILE_FLAGS <string>])
|
||||
# which creates a custom command to generate the <FlexOutput> file from
|
||||
# the <FlexInput> file. If COMPILE_FLAGS option is specified, the next
|
||||
# parameter is added to the lex command line. Name is an alias used to
|
||||
# get details of this custom command. Indeed the macro defines the
|
||||
# following variables:
|
||||
# LEX_${Name}_DEFINED - true is the macro ran successfully
|
||||
# LEX_${Name}_OUTPUTS - the source file generated by the custom rule, an
|
||||
# alias for FlexOutput
|
||||
# LEX_${Name}_INPUT - the lex source file, an alias for ${FlexInput}
|
||||
#
|
||||
# Flex scanners oftenly use tokens defined by Yacc: the code generated
|
||||
# by Flex depends of the header generated by Yacc. This module also
|
||||
# defines a macro:
|
||||
# ADD_LEX_YACC_DEPENDENCY(FlexTarget YaccTarget)
|
||||
# which adds the required dependency between a scanner and a parser
|
||||
# where <FlexTarget> and <YaccTarget> are the first parameters of
|
||||
# respectively LEX_TARGET and YACC_TARGET macros.
|
||||
#
|
||||
# ====================================================================
|
||||
# Example:
|
||||
#
|
||||
# find_package(YACC)
|
||||
# find_package(LEX)
|
||||
#
|
||||
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
|
||||
# LEX_TARGET(MyScanner lexer.l ${CMAKE_CURRENT_BIANRY_DIR}/lexer.cpp)
|
||||
# ADD_LEX_YACC_DEPENDENCY(MyScanner MyParser)
|
||||
#
|
||||
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
# add_executable(Foo
|
||||
# Foo.cc
|
||||
# ${YACC_MyParser_OUTPUTS}
|
||||
# ${LEX_MyScanner_OUTPUTS}
|
||||
# )
|
||||
# ====================================================================
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright 2010 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
FIND_PROGRAM(LEX_EXECUTABLE flex DOC "path to the lex executable")
|
||||
IF(NOT LEX_EXECUTABLE)
|
||||
FIND_PROGRAM(LEX_EXECUTABLE lex DOC "path to the lex executable")
|
||||
ENDIF(NOT LEX_EXECUTABLE)
|
||||
MARK_AS_ADVANCED(LEX_EXECUTABLE)
|
||||
|
||||
FIND_LIBRARY(FL_LIBRARY NAMES fl
|
||||
DOC "path to the fl library")
|
||||
MARK_AS_ADVANCED(FL_LIBRARY)
|
||||
SET(LEX_LIBRARIES ${FL_LIBRARY})
|
||||
|
||||
IF(LEX_EXECUTABLE)
|
||||
|
||||
#============================================================
|
||||
# LEX_TARGET (public macro)
|
||||
#============================================================
|
||||
#
|
||||
MACRO(LEX_TARGET Name Input Output)
|
||||
SET(LEX_TARGET_usage "LEX_TARGET(<Name> <Input> <Output> [COMPILE_FLAGS <string>]")
|
||||
IF(${ARGC} GREATER 3)
|
||||
IF(${ARGC} EQUAL 5)
|
||||
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
|
||||
SET(LEX_EXECUTABLE_opts "${ARGV4}")
|
||||
SEPARATE_ARGUMENTS(LEX_EXECUTABLE_opts)
|
||||
ELSE()
|
||||
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
|
||||
ENDIF()
|
||||
ELSE()
|
||||
MESSAGE(SEND_ERROR ${LEX_TARGET_usage})
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${Output}
|
||||
COMMAND ${LEX_EXECUTABLE}
|
||||
ARGS ${LEX_EXECUTABLE_opts} -o${Output} ${Input}
|
||||
DEPENDS ${Input}
|
||||
COMMENT "[LEX][${Name}] Building scanner with ${LEX_EXECUTABLE}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
SET(LEX_${Name}_DEFINED TRUE)
|
||||
SET(LEX_${Name}_OUTPUTS ${Output})
|
||||
SET(LEX_${Name}_INPUT ${Input})
|
||||
SET(LEX_${Name}_COMPILE_FLAGS ${LEX_EXECUTABLE_opts})
|
||||
ENDMACRO(LEX_TARGET)
|
||||
#============================================================
|
||||
|
||||
|
||||
#============================================================
|
||||
# ADD_LEX_YACC_DEPENDENCY (public macro)
|
||||
#============================================================
|
||||
#
|
||||
MACRO(ADD_LEX_YACC_DEPENDENCY FlexTarget YaccTarget)
|
||||
|
||||
IF(NOT LEX_${FlexTarget}_OUTPUTS)
|
||||
MESSAGE(SEND_ERROR "Flex target `${FlexTarget}' does not exists.")
|
||||
ENDIF()
|
||||
|
||||
IF(NOT YACC_${YaccTarget}_OUTPUT_HEADER)
|
||||
MESSAGE(SEND_ERROR "Yacc target `${YaccTarget}' does not exists.")
|
||||
ENDIF()
|
||||
|
||||
SET_SOURCE_FILES_PROPERTIES(${LEX_${FlexTarget}_OUTPUTS}
|
||||
PROPERTIES OBJECT_DEPENDS ${YACC_${YaccTarget}_OUTPUT_HEADER})
|
||||
ENDMACRO(ADD_LEX_YACC_DEPENDENCY)
|
||||
#============================================================
|
||||
|
||||
#Need to run a test lex file to determine if YYTEXT_POINTER needs
|
||||
#to be defined
|
||||
EXEC_PROGRAM(${LEX_EXECUTABLE} ARGS ${CMAKE_SOURCE_DIR}/misc/CMake/test_srcs/lex_test.l -o ${CMAKE_BINARY_DIR}/CMakeTmp/lex_test.c RETURN_VALUE _retval OUTPUT_VARIABLE _lexOut)
|
||||
INCLUDE (CheckCFileRuns)
|
||||
SET(FILE_RUN_DEFINITIONS "-DYYTEXT_POINTER=1")
|
||||
CHECK_C_FILE_RUNS(${CMAKE_CURRENT_SOURCE_DIR}/cmake/test_srcs/sys_wait_test.c YYTEXT_POINTER)
|
||||
SET(FILE_RUN_DEFINITIONS)
|
||||
|
||||
|
||||
ENDIF(LEX_EXECUTABLE)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(LEX DEFAULT_MSG LEX_EXECUTABLE)
|
||||
|
||||
# FindLEX.cmake ends here
|
||||
@@ -1,79 +0,0 @@
|
||||
#
|
||||
# - Find perplex executable and provides macros to generate custom build rules
|
||||
# The module defines the following variables
|
||||
#
|
||||
# PERPLEX_EXECUTABLE - path to the perplex program
|
||||
# PERPLEX_TEMPLATE - location of the perplex template file
|
||||
|
||||
#=============================================================================
|
||||
# F I N D P E R P L E X . C M A K E
|
||||
#
|
||||
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
|
||||
#
|
||||
# Copyright (c) 2010-2012 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
find_program(PERPLEX_EXECUTABLE perplex DOC "path to the perplex executable")
|
||||
mark_as_advanced(PERPLEX_EXECUTABLE)
|
||||
|
||||
if(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
|
||||
get_filename_component(perplex_path ${PERPLEX_EXECUTABLE} PATH)
|
||||
if(perplex_path)
|
||||
set(PERPLEX_TEMPLATE "")
|
||||
if(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
|
||||
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex/perplex_template.c" ABSOLUTE)
|
||||
set(PERPLEX_TEMPLATE "${perplex_template_path}")
|
||||
endif(EXISTS ${perplex_path}/../share/perplex/perplex_template.c)
|
||||
if(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
|
||||
get_filename_component(perplex_template_path "${perplex_path}/../share/perplex_template.c" ABSOLUTE)
|
||||
set(PERPLEX_TEMPLATE "${perplex_template_path}")
|
||||
endif(EXISTS ${perplex_path}/../share/perplex_template.c AND NOT PERPLEX_TEMPLATE)
|
||||
endif(perplex_path)
|
||||
if(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
|
||||
set(PERPLEX_TEMPLATE "/usr/share/perplex/perplex_template.c")
|
||||
endif(EXISTS /usr/share/perplex/perplex_template.c AND NOT PERPLEX_TEMPLATE)
|
||||
endif(PERPLEX_EXECUTABLE AND NOT PERPLEX_TEMPLATE)
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(PERPLEX DEFAULT_MSG PERPLEX_EXECUTABLE PERPLEX_TEMPLATE)
|
||||
mark_as_advanced(PERPLEX_TEMPLATE)
|
||||
|
||||
#============================================================
|
||||
# FindPERPLEX.cmake ends here
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -1,10 +0,0 @@
|
||||
# The module defines the following variables:
|
||||
# RE2C_EXECUTABLE - the path to the re2c executable
|
||||
#
|
||||
#=============================================================================
|
||||
|
||||
find_program(RE2C_EXECUTABLE re2c DOC "path to the re2c executable")
|
||||
mark_as_advanced(RE2C_EXECUTABLE)
|
||||
|
||||
include(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(RE2C DEFAULT_MSG RE2C_EXECUTABLE)
|
||||
@@ -0,0 +1,165 @@
|
||||
# - Find yacc executable and provides macros to generate custom build rules
|
||||
# The module defines the following variables
|
||||
#
|
||||
# YACC_EXECUTABLE - path to the yacc program
|
||||
# YACC_FOUND - true if the program was found
|
||||
#
|
||||
# If yacc is found, the module defines the macros:
|
||||
# YACC_TARGET(<Name> <YaccInput> <CodeOutput> [VERBOSE <file>]
|
||||
# [COMPILE_FLAGS <string>])
|
||||
# which will create a custom rule to generate a parser. <YaccInput> is
|
||||
# the path to a yacc file. <CodeOutput> is the name of the source file
|
||||
# generated by yacc. A header file is also be generated, and contains
|
||||
# the token list. If COMPILE_FLAGS option is specified, the next
|
||||
# parameter is added in the yacc command line. if VERBOSE option is
|
||||
# specified, <file> is created and contains verbose descriptions of the
|
||||
# grammar and parser. The macro defines a set of variables:
|
||||
# YACC_${Name}_DEFINED - true is the macro ran successfully
|
||||
# YACC_${Name}_INPUT - The input source file, an alias for <YaccInput>
|
||||
# YACC_${Name}_OUTPUT_SOURCE - The source file generated by yacc
|
||||
# YACC_${Name}_OUTPUT_HEADER - The header file generated by yacc
|
||||
# YACC_${Name}_OUTPUTS - The sources files generated by yacc
|
||||
# YACC_${Name}_COMPILE_FLAGS - Options used in the yacc command line
|
||||
#
|
||||
# ====================================================================
|
||||
# Example:
|
||||
#
|
||||
# find_package(YACC)
|
||||
# YACC_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp)
|
||||
# add_executable(Foo main.cpp ${YACC_MyParser_OUTPUTS})
|
||||
# ====================================================================
|
||||
#
|
||||
#=============================================================================
|
||||
# Copyright 2010 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
|
||||
FIND_PROGRAM(YACC_EXECUTABLE bison DOC "path to the yacc executable")
|
||||
IF(NOT YACC_EXECUTABLE)
|
||||
FIND_PROGRAM(YACC_EXECUTABLE yacc DOC "path to the yacc executable")
|
||||
ENDIF(NOT YACC_EXECUTABLE)
|
||||
MARK_AS_ADVANCED(YACC_EXECUTABLE)
|
||||
|
||||
IF(YACC_EXECUTABLE)
|
||||
# internal macro
|
||||
MACRO(YACC_TARGET_option_verbose Name YaccOutput filename)
|
||||
LIST(APPEND YACC_TARGET_cmdopt "--verbose")
|
||||
GET_FILENAME_COMPONENT(YACC_TARGET_output_path "${YaccOutput}" PATH)
|
||||
GET_FILENAME_COMPONENT(YACC_TARGET_output_name "${YaccOutput}" NAME_WE)
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${filename}
|
||||
COMMAND ${CMAKE_COMMAND}
|
||||
ARGS -E copy
|
||||
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
|
||||
"${filename}"
|
||||
DEPENDS
|
||||
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output"
|
||||
COMMENT "[YACC][${Name}] Copying yacc verbose table to ${filename}"
|
||||
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR})
|
||||
SET(YACC_${Name}_VERBOSE_FILE ${filename})
|
||||
LIST(APPEND YACC_TARGET_extraoutputs
|
||||
"${YACC_TARGET_output_path}/${YACC_TARGET_output_name}.output")
|
||||
ENDMACRO(YACC_TARGET_option_verbose)
|
||||
|
||||
# internal macro
|
||||
MACRO(YACC_TARGET_option_extraopts Options)
|
||||
SET(YACC_TARGET_extraopts "${Options}")
|
||||
SEPARATE_ARGUMENTS(YACC_TARGET_extraopts)
|
||||
LIST(APPEND YACC_TARGET_cmdopt ${YACC_TARGET_extraopts})
|
||||
ENDMACRO(YACC_TARGET_option_extraopts)
|
||||
|
||||
#============================================================
|
||||
# YACC_TARGET (public macro)
|
||||
#============================================================
|
||||
#
|
||||
MACRO(YACC_TARGET Name YaccInput YaccOutput)
|
||||
SET(YACC_TARGET_output_header "")
|
||||
SET(YACC_TARGET_command_opt "")
|
||||
SET(YACC_TARGET_outputs "${YaccOutput}")
|
||||
IF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
|
||||
MESSAGE(SEND_ERROR "Usage")
|
||||
ELSE()
|
||||
# Parsing parameters
|
||||
IF(${ARGC} GREATER 5 OR ${ARGC} EQUAL 5)
|
||||
IF("${ARGV3}" STREQUAL "VERBOSE")
|
||||
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV4}")
|
||||
ENDIF()
|
||||
IF("${ARGV3}" STREQUAL "COMPILE_FLAGS")
|
||||
YACC_TARGET_option_extraopts("${ARGV4}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
IF(${ARGC} EQUAL 7)
|
||||
IF("${ARGV5}" STREQUAL "VERBOSE")
|
||||
YACC_TARGET_option_verbose(${Name} ${YaccOutput} "${ARGV6}")
|
||||
ENDIF()
|
||||
|
||||
IF("${ARGV5}" STREQUAL "COMPILE_FLAGS")
|
||||
YACC_TARGET_option_extraopts("${ARGV6}")
|
||||
ENDIF()
|
||||
ENDIF()
|
||||
|
||||
# Header's name generated by yacc (see option -d)
|
||||
LIST(APPEND YACC_TARGET_cmdopt "-d")
|
||||
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\2" _fileext "${ARGV2}")
|
||||
STRING(REPLACE "c" "h" _fileext ${_fileext})
|
||||
STRING(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1${_fileext}"
|
||||
YACC_${Name}_OUTPUT_HEADER "${ARGV2}")
|
||||
LIST(APPEND YACC_TARGET_outputs "${YACC_${Name}_OUTPUT_HEADER}")
|
||||
|
||||
ADD_CUSTOM_COMMAND(OUTPUT ${YACC_TARGET_outputs}
|
||||
${YACC_TARGET_extraoutputs}
|
||||
COMMAND ${YACC_EXECUTABLE}
|
||||
ARGS ${YACC_TARGET_cmdopt} -o ${ARGV2} ${ARGV1}
|
||||
DEPENDS ${ARGV1}
|
||||
COMMENT "[YACC][${Name}] Building parser with ${YACC_EXECUTABLE}"
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR})
|
||||
|
||||
# define target variables
|
||||
SET(YACC_${Name}_DEFINED TRUE)
|
||||
SET(YACC_${Name}_INPUT ${ARGV1})
|
||||
SET(YACC_${Name}_OUTPUTS ${YACC_TARGET_outputs})
|
||||
SET(YACC_${Name}_COMPILE_FLAGS ${YACC_TARGET_cmdopt})
|
||||
SET(YACC_${Name}_OUTPUT_SOURCE "${YaccOutput}")
|
||||
|
||||
ENDIF(NOT ${ARGC} EQUAL 3 AND NOT ${ARGC} EQUAL 5 AND NOT ${ARGC} EQUAL 7)
|
||||
ENDMACRO(YACC_TARGET)
|
||||
#
|
||||
#============================================================
|
||||
|
||||
ENDIF(YACC_EXECUTABLE)
|
||||
|
||||
INCLUDE(FindPackageHandleStandardArgs)
|
||||
FIND_PACKAGE_HANDLE_STANDARD_ARGS(YACC DEFAULT_MSG YACC_EXECUTABLE)
|
||||
|
||||
# FindYACC.cmake ends here
|
||||
@@ -1,85 +0,0 @@
|
||||
# Utility routines for managing generated files with CMake
|
||||
|
||||
macro(MD5 filename md5sum)
|
||||
file(READ "${filename}" RAW_MD5_FILE)
|
||||
string(REGEX REPLACE "\r" "" STRIPPED_MD5_FILE "${RAW_MD5_FILE}")
|
||||
string(MD5 ${md5sum} "${STRIPPED_MD5_FILE}")
|
||||
endmacro(MD5)
|
||||
|
||||
macro(FILEVAR filename var)
|
||||
string(REGEX REPLACE "[^a-zA-Z0-9]" "_" ${var} ${filename})
|
||||
endmacro(FILEVAR)
|
||||
|
||||
macro(VERIFY_FILES filelist warn resultvar)
|
||||
set(${resultvar} 1)
|
||||
foreach(fileitem ${filelist})
|
||||
# Deal with absolute and relative paths a bit differently
|
||||
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
|
||||
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
set(filefullname "${fileitem}")
|
||||
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
|
||||
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
get_filename_component(filename "${fileitem}" NAME)
|
||||
# Got filename components sorted - proceed
|
||||
if(NOT EXISTS ${filefullname})
|
||||
message(FATAL_ERROR "Attempted to verify non-existant file ${filefullname}")
|
||||
endif(NOT EXISTS ${filefullname})
|
||||
FILEVAR(${filename} filevar)
|
||||
if(NOT baseline_${filevar}_md5)
|
||||
message(FATAL_ERROR "No baseline MD5 available for ${filename} - baseline_${filevar}_md5 is not defined")
|
||||
endif(NOT baseline_${filevar}_md5)
|
||||
MD5(${filefullname} ${filevar}_md5)
|
||||
if(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
|
||||
if("${warn}" STREQUAL "1")
|
||||
message("\n${filename} differs from baseline: baseline md5 hash is ${baseline_${filevar}_md5} and current hash is ${${filevar}_md5}\n")
|
||||
endif("${warn}" STREQUAL "1")
|
||||
set(${resultvar} 0)
|
||||
else(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
|
||||
if("${warn}" STREQUAL "1")
|
||||
message("${fileitem} OK")
|
||||
endif("${warn}" STREQUAL "1")
|
||||
endif(NOT "${${filevar}_md5}" STREQUAL "${baseline_${filevar}_md5}")
|
||||
endforeach(fileitem ${filelist})
|
||||
endmacro(VERIFY_FILES filelist resultvar)
|
||||
|
||||
macro(WRITE_MD5_SUMS filelist outfile)
|
||||
foreach(fileitem ${filelist})
|
||||
# Deal with absolute and relative paths a bit differently
|
||||
get_filename_component(ITEM_ABS_PATH "${fileitem}" ABSOLUTE)
|
||||
if("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
set(filefullname "${fileitem}")
|
||||
else("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
set(filefullname "${CURRENT_SOURCE_DIR}/${fileitem}")
|
||||
endif("${fileitem}" STREQUAL "${ITEM_ABS_PATH}")
|
||||
get_filename_component(filename "${fileitem}" NAME)
|
||||
# Got filename components sorted - proceed
|
||||
if(NOT EXISTS ${filefullname})
|
||||
message(FATAL_ERROR "Attempted to get MD5 sum of non-existant file ${filefullname}")
|
||||
endif(NOT EXISTS ${filefullname})
|
||||
FILEVAR(${filename} filevar)
|
||||
MD5(${filefullname} ${filevar}_md5)
|
||||
file(APPEND ${outfile} "set(baseline_${filevar}_md5 ${${filevar}_md5})\n")
|
||||
endforeach(fileitem ${filelist})
|
||||
endmacro(WRITE_MD5_SUMS)
|
||||
|
||||
|
||||
macro(GET_GENERATOR_EXEC_VERSIONS)
|
||||
# Read lemon version
|
||||
execute_process(COMMAND ${LEMON_EXECUTABLE} -x OUTPUT_VARIABLE lemon_version)
|
||||
string(REPLACE "Lemon version " "" lemon_version "${lemon_version}")
|
||||
string(STRIP "${lemon_version}" lemon_version)
|
||||
# Read re2c version
|
||||
execute_process(COMMAND ${RE2C_EXECUTABLE} -V OUTPUT_VARIABLE re2c_version)
|
||||
string(STRIP "${re2c_version}" re2c_version)
|
||||
# Read perplex version
|
||||
execute_process(COMMAND ${PERPLEX_EXECUTABLE} -v OUTPUT_VARIABLE perplex_version)
|
||||
string(STRIP "${perplex_version}" perplex_version)
|
||||
endmacro(GET_GENERATOR_EXEC_VERSIONS)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -1,146 +0,0 @@
|
||||
# Defines the macro
|
||||
# LEMON_TARGET(<Name> <LemonInput> <LemonSource> <LemonHeader>
|
||||
# [<ArgString>])
|
||||
# which will create a custom rule to generate a parser. <LemonInput> is
|
||||
# the path to a lemon file. <LemonSource> is the desired name for the
|
||||
# generated source file. <LemonHeader> is the desired name for the
|
||||
# generated header which contains the token list. Anything in the optional
|
||||
# <ArgString> parameter is appended to the lemon command line.
|
||||
#
|
||||
# ====================================================================
|
||||
# Example:
|
||||
#
|
||||
# find_package(LEMON)
|
||||
# LEMON_TARGET(MyParser parser.y parser.c parser.h)
|
||||
# add_executable(Foo main.cpp ${LEMON_MyParser_OUTPUTS})
|
||||
# ====================================================================
|
||||
#
|
||||
#=============================================================================
|
||||
#
|
||||
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
|
||||
#
|
||||
# Copyright (c) 2010-2012 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
#============================================================
|
||||
# LEMON_TARGET (public macro)
|
||||
#============================================================
|
||||
#
|
||||
macro(LEMON_TARGET Name LemonInput LemonSource LemonHeader)
|
||||
if(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
|
||||
message(SEND_ERROR "Usage")
|
||||
else()
|
||||
get_filename_component(LemonInputFull ${LemonInput} ABSOLUTE)
|
||||
get_filename_component(LemonSourceFull ${LemonSource} ABSOLUTE)
|
||||
get_filename_component(LemonHeaderFull ${LemonHeader} ABSOLUTE)
|
||||
|
||||
if(NOT ${LemonInput} STREQUAL ${LemonInputFull})
|
||||
set(LEMON_${Name}_INPUT "${CMAKE_CURRENT_BINARY_DIR}/${LemonInput}")
|
||||
else(NOT ${LemonInput} STREQUAL ${LemonInputFull})
|
||||
set(LEMON_${Name}_INPUT "${LemonInput}")
|
||||
endif(NOT ${LemonInput} STREQUAL ${LemonInputFull})
|
||||
|
||||
if(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
|
||||
set(LEMON_${Name}_OUTPUT_SOURCE "${CMAKE_CURRENT_BINARY_DIR}/${LemonSource}")
|
||||
else(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
|
||||
set(LEMON_${Name}_OUTPUT_SOURCE "${LemonSource}")
|
||||
endif(NOT ${LemonSource} STREQUAL ${LemonSourceFull})
|
||||
|
||||
if(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
|
||||
set(LEMON_${Name}_OUTPUT_HEADER "${CMAKE_CURRENT_BINARY_DIR}/${LemonHeader}")
|
||||
else(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
|
||||
set(LEMON_${Name}_OUTPUT_HEADER "${LemonHeader}")
|
||||
endif(NOT ${LemonHeader} STREQUAL ${LemonHeaderFull})
|
||||
|
||||
set(LEMON_${Name}_EXTRA_ARGS "${ARGV4}")
|
||||
|
||||
# get input name minus path
|
||||
get_filename_component(INPUT_NAME "${LemonInput}" NAME)
|
||||
set(LEMON_BIN_INPUT ${CMAKE_CURRENT_BINARY_DIR}/${INPUT_NAME})
|
||||
|
||||
# names of lemon output files will be based on the name of the input file
|
||||
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.c" LEMON_GEN_SOURCE "${INPUT_NAME}")
|
||||
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.h" LEMON_GEN_HEADER "${INPUT_NAME}")
|
||||
string(REGEX REPLACE "^(.*)(\\.[^.]*)$" "\\1.out" LEMON_GEN_OUT "${INPUT_NAME}")
|
||||
|
||||
# copy input to bin directory and run lemon
|
||||
add_custom_command(
|
||||
OUTPUT ${LEMON_GEN_OUT} ${LEMON_GEN_SOURCE} ${LEMON_GEN_HEADER}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy_if_different ${CMAKE_CURRENT_SOURCE_DIR}/${LemonInput} ${LEMON_BIN_INPUT}
|
||||
COMMAND ${LEMON_EXECUTABLE} ${INPUT_NAME} ${LEMON_${Name}_EXTRA_ARGS}
|
||||
DEPENDS ${LemonInput} ${LEMON_TEMPLATE} ${LEMON_EXECUTABLE_TARGET}
|
||||
COMMENT "[LEMON][${Name}] Building parser with ${LEMON_EXECUTABLE}"
|
||||
)
|
||||
|
||||
# rename generated outputs
|
||||
if(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
|
||||
add_custom_command(
|
||||
OUTPUT ${LemonSource}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_SOURCE} ${LemonSource}
|
||||
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_SOURCE}
|
||||
)
|
||||
set(LEMON_${Name}_OUTPUTS ${LemonSource} ${LEMON_${Name}_OUTPUTS})
|
||||
endif(NOT "${LemonSource}" STREQUAL "${LEMON_GEN_SOURCE}")
|
||||
if(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
|
||||
add_custom_command(
|
||||
OUTPUT ${LemonHeader}
|
||||
COMMAND ${CMAKE_COMMAND} -E copy ${LEMON_GEN_HEADER} ${LemonHeader}
|
||||
DEPENDS ${LemonInput} ${LEMON_EXECUTABLE_TARGET} ${LEMON_GEN_HEADER}
|
||||
)
|
||||
set(LEMON_${Name}_OUTPUTS ${LemonHeader} ${LEMON_${Name}_OUTPUTS})
|
||||
endif(NOT "${LemonHeader}" STREQUAL "${LEMON_GEN_HEADER}")
|
||||
|
||||
set(LEMON_${Name}_OUTPUTS ${LEMON_GEN_OUT} ${LemonSource} ${LemonHeader})
|
||||
|
||||
# make sure we clean up generated output and copied input
|
||||
if("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS}")
|
||||
else("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||
set_property(DIRECTORY APPEND PROPERTY ADDITIONAL_MAKE_CLEAN_FILES "${LEMON_${Name}_OUTPUTS};${LEMON_BIN_INPUT}")
|
||||
endif("${CMAKE_SOURCE_DIR}" STREQUAL "${CMAKE_BINARY_DIR}")
|
||||
|
||||
# macro ran successfully
|
||||
set(LEMON_${Name}_DEFINED TRUE)
|
||||
endif(NOT ${ARGC} EQUAL 4 AND NOT ${ARGC} EQUAL 5)
|
||||
endmacro(LEMON_TARGET)
|
||||
#
|
||||
#============================================================
|
||||
# LEMON_Utils.cmake ends here
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -1,134 +0,0 @@
|
||||
# Defines two macros - PERPLEX_TARGET, which takes perplex inputs and
|
||||
# runs both perplex and re2c to generate C source code/headers, and
|
||||
# ADD_PERPLEX_LEMON_DEPENDENCY which is used to set up dependencies between
|
||||
# scanner and parser targets when necessary.
|
||||
#
|
||||
# #====================================================================
|
||||
# Example:
|
||||
#
|
||||
# find_package(LEMON)
|
||||
# find_package(RE2C)
|
||||
# find_package(PERPLEX)
|
||||
#
|
||||
# LEMON_TARGET(MyParser parser.y ${CMAKE_CURRENT_BINARY_DIR}/parser.cpp
|
||||
# PERPLEX_TARGET(MyScanner scanner.re ${CMAKE_CURRENT_BINARY_DIR}/scanner.cpp ${CMAKE_CURRENT_BINARY_DIR}/scanner_header.hpp)
|
||||
# ADD_PERPLEX_LEMON_DEPENDENCY(MyScanner MyParser)
|
||||
#
|
||||
# include_directories(${CMAKE_CURRENT_BINARY_DIR})
|
||||
# add_executable(Foo
|
||||
# Foo.cc
|
||||
# ${LEMON_MyParser_OUTPUTS}
|
||||
# ${PERPLEX_MyScanner_OUTPUTS}
|
||||
# )
|
||||
# ====================================================================
|
||||
#
|
||||
#=============================================================================
|
||||
#
|
||||
# Originally based off of FindBISON.cmake from Kitware's CMake distribution
|
||||
#
|
||||
# Copyright (c) 2010-2012 United States Government as represented by
|
||||
# the U.S. Army Research Laboratory.
|
||||
# Copyright 2009 Kitware, Inc.
|
||||
# Copyright 2006 Tristan Carel
|
||||
# All rights reserved.
|
||||
#
|
||||
# Redistribution and use in source and binary forms, with or without
|
||||
# modification, are permitted provided that the following conditions
|
||||
# are met:
|
||||
#
|
||||
# * Redistributions of source code must retain the above copyright
|
||||
# notice, this list of conditions and the following disclaimer.
|
||||
#
|
||||
# * Redistributions in binary form must reproduce the above copyright
|
||||
# notice, this list of conditions and the following disclaimer in the
|
||||
# documentation and/or other materials provided with the distribution.
|
||||
#
|
||||
# * The names of the authors may not be used to endorse or promote
|
||||
# products derived from this software without specific prior written
|
||||
# permission.
|
||||
#
|
||||
# THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
|
||||
# "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
|
||||
# LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR
|
||||
# A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT
|
||||
# HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
|
||||
# SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
|
||||
# LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE,
|
||||
# DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY
|
||||
# THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
# (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
|
||||
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
#=============================================================================
|
||||
|
||||
#============================================================
|
||||
# PERPLEX_TARGET (public macro)
|
||||
#============================================================
|
||||
macro(PERPLEX_TARGET Name Input OutputSrc OutputHeader)
|
||||
if(${ARGC} GREATER 4)
|
||||
set(Template ${ARGV4})
|
||||
else(${ARGC} GREATER 4)
|
||||
if(PERPLEX_TEMPLATE)
|
||||
set(Template ${PERPLEX_TEMPLATE})
|
||||
else(PERPLEX_TEMPLATE)
|
||||
message(FATAL_ERROR "\nNo Perplex template file specifed - please specify the file using the PERPLEX_TEMPLATE variable:\ncmake .. -DPERPLEX_TEMPLATE=/path/to/template_file.c\n")
|
||||
endif(PERPLEX_TEMPLATE)
|
||||
endif(${ARGC} GREATER 4)
|
||||
|
||||
get_filename_component(OutputName ${OutputSrc} NAME)
|
||||
set(re2c_src "${CMAKE_CURRENT_BINARY_DIR}/${OutputName}.re")
|
||||
|
||||
add_custom_command(
|
||||
OUTPUT ${re2c_src} ${OutputHeader}
|
||||
COMMAND ${PERPLEX_EXECUTABLE} -c -o ${re2c_src} -i ${OutputHeader} -t ${Template} ${Input}
|
||||
DEPENDS ${Input} ${Template} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "[PERPLEX][${Name}] Generating re2c input with ${PERPLEX_EXECUTABLE}"
|
||||
)
|
||||
if(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
add_custom_command(
|
||||
OUTPUT ${OutputSrc}
|
||||
COMMAND ${RE2C_EXECUTABLE} --no-debug-info --no-generation-date -c -o ${OutputSrc} ${re2c_src}
|
||||
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
|
||||
)
|
||||
else(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
add_custom_command(
|
||||
OUTPUT ${OutputSrc}
|
||||
COMMAND ${RE2C_EXECUTABLE} --no-generation-date -c -o ${OutputSrc} ${re2c_src}
|
||||
DEPENDS ${Input} ${re2c_src} ${OutputHeader} ${PERPLEX_EXECUTABLE_TARGET} ${RE2C_EXECUTABLE_TARGET}
|
||||
WORKING_DIRECTORY ${CMAKE_CURRENT_SOURCE_DIR}
|
||||
COMMENT "[RE2C][${Name}] Building scanner with ${RE2C_EXECUTABLE}"
|
||||
)
|
||||
endif(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
set(PERPLEX_${Name}_DEFINED TRUE)
|
||||
set(PERPLEX_${Name}_OUTPUTS ${OutputSrc})
|
||||
set(PERPLEX_${Name}_INPUT ${Input})
|
||||
endmacro(PERPLEX_TARGET)
|
||||
|
||||
#============================================================
|
||||
# ADD_PERPLEX_LEMON_DEPENDENCY (public macro)
|
||||
#============================================================
|
||||
macro(ADD_PERPLEX_LEMON_DEPENDENCY PERPLEXTarget LemonTarget)
|
||||
|
||||
if(NOT PERPLEX_${PERPLEXTarget}_OUTPUTS)
|
||||
message(SEND_ERROR "PERPLEX target `${PERPLEXTarget}' does not exists.")
|
||||
endif()
|
||||
|
||||
if(NOT LEMON_${LemonTarget}_OUTPUT_HEADER)
|
||||
message(SEND_ERROR "Lemon target `${LemonTarget}' does not exists.")
|
||||
endif()
|
||||
|
||||
set_source_files_properties(${PERPLEX_${PERPLEXTarget}_OUTPUTS}
|
||||
PROPERTIES OBJECT_DEPENDS ${LEMON_${LemonTarget}_OUTPUT_HEADER})
|
||||
endmacro(ADD_PERPLEX_LEMON_DEPENDENCY)
|
||||
|
||||
#============================================================
|
||||
# PERPLEX_Utils.cmake ends here
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -0,0 +1,75 @@
|
||||
# Will need windows logic someday, even though it doesn't work yet, so go ahead
|
||||
# and add the DLL_DEFINE macro
|
||||
|
||||
MACRO(DLL_DEFINE libname)
|
||||
IF(MSVC)
|
||||
STRING(REGEX REPLACE "lib" "" LOWERCORE "${libname}")
|
||||
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
|
||||
add_definitions("-D${UPPER_CORE}_EXPORT_DLL")
|
||||
ENDIF(MSVC)
|
||||
ENDMACRO()
|
||||
|
||||
|
||||
MACRO(SCL_ADDEXEC execname srcs libs)
|
||||
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
|
||||
STRING(REGEX REPLACE " " ";" libslist "${libs}")
|
||||
add_executable(${execname} ${srcslist})
|
||||
target_link_libraries(${execname} ${libslist})
|
||||
INSTALL(TARGETS ${execname} DESTINATION bin)
|
||||
# Enable extra compiler flags if local executables and/or global options dictate
|
||||
SET(LOCAL_COMPILE_FLAGS "")
|
||||
FOREACH(extraarg ${ARGN})
|
||||
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
|
||||
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
|
||||
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
|
||||
ENDFOREACH(extraarg ${ARGN})
|
||||
IF(LOCAL_COMPILE_FLAGS)
|
||||
SET_TARGET_PROPERTIES(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(LOCAL_COMPILE_FLAGS)
|
||||
ENDMACRO(SCL_ADDEXEC execname srcs libs)
|
||||
|
||||
MACRO(SCL_ADDLIB libname srcs libs)
|
||||
STRING(REGEX REPLACE " " ";" srcslist "${srcs}")
|
||||
STRING(REGEX REPLACE " " ";" libslist1 "${libs}")
|
||||
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
|
||||
DLL_DEFINE(${libname})
|
||||
IF(SCL_BUILD_SHARED_LIBS)
|
||||
add_library(${libname} SHARED ${srcslist})
|
||||
if(NOT ${libs} MATCHES "NONE")
|
||||
target_link_libraries(${libname} ${libslist})
|
||||
endif(NOT ${libs} MATCHES "NONE")
|
||||
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SCL_ABI_VERSION} SOVERSION ${SCL_ABI_SOVERSION} )
|
||||
INSTALL(TARGETS ${libname} DESTINATION lib)
|
||||
ENDIF(SCL_BUILD_SHARED_LIBS)
|
||||
IF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
add_library(${libname}-static STATIC ${srcslist})
|
||||
if(NOT ${libs} MATCHES "NONE")
|
||||
target_link_libraries(${libname}-static ${libslist})
|
||||
endif(NOT ${libs} MATCHES "NONE")
|
||||
IF(NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES OUTPUT_NAME "${libname}")
|
||||
ENDIF(NOT WIN32)
|
||||
IF(WIN32)
|
||||
# We need the lib prefix on win32, so add it even if our add_library
|
||||
# wrapper function has removed it due to the target name - see
|
||||
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES PREFIX "lib")
|
||||
ENDIF(WIN32)
|
||||
INSTALL(TARGETS ${libname}-static DESTINATION lib)
|
||||
ENDIF(SCL_BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
# Enable extra compiler flags if local libraries and/or global options dictate
|
||||
SET(LOCAL_COMPILE_FLAGS "")
|
||||
FOREACH(extraarg ${ARGN})
|
||||
IF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
|
||||
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
|
||||
ENDIF(${extraarg} MATCHES "STRICT" AND SCL-ENABLE_STRICT)
|
||||
ENDFOREACH(extraarg ${ARGN})
|
||||
IF(LOCAL_COMPILE_FLAGS)
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(BUILD_SHARED_LIBS)
|
||||
IF(BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
ENDIF(LOCAL_COMPILE_FLAGS)
|
||||
ENDMACRO(SCL_ADDLIB libname srcs libs)
|
||||
@@ -1,133 +0,0 @@
|
||||
|
||||
# set compile definitions for dll exports on windows
|
||||
MACRO(DEFINE_DLL_EXPORTS libname)
|
||||
IF( MSVC OR BORLAND )
|
||||
if( ${libname} MATCHES "sdai_.*" )
|
||||
set( export "SC_SCHEMA_DLL_EXPORTS" )
|
||||
else()
|
||||
STRING(REGEX REPLACE "lib" "" shortname "${libname}")
|
||||
STRING(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
|
||||
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
|
||||
set( export "SC_${UPPER_CORE}_DLL_EXPORTS" )
|
||||
endif()
|
||||
get_target_property(defs ${libname} COMPILE_DEFINITIONS )
|
||||
if( defs ) #if no properties, ${defs} will be defs-NOTFOUND which CMake interprets as false
|
||||
set( defs "${defs};${export}")
|
||||
else( defs )
|
||||
set( defs "${export}")
|
||||
endif( defs )
|
||||
set_target_properties(${libname} PROPERTIES COMPILE_DEFINITIONS "${defs}" )
|
||||
ENDIF( MSVC OR BORLAND )
|
||||
ENDMACRO(DEFINE_DLL_EXPORTS libname)
|
||||
|
||||
# set compile definitions for dll imports on windows
|
||||
MACRO( DEFINE_DLL_IMPORTS tgt libs )
|
||||
IF( MSVC OR BORLAND )
|
||||
get_target_property(defs ${tgt} COMPILE_DEFINITIONS )
|
||||
if( NOT defs ) #if no properties, ${defs} will be defs-NOTFOUND which CMake interprets as false
|
||||
set( defs "")
|
||||
endif( NOT defs )
|
||||
foreach( lib ${libs} )
|
||||
STRING(REGEX REPLACE "lib" "" shortname "${lib}")
|
||||
STRING(REGEX REPLACE "step" "" LOWERCORE "${shortname}")
|
||||
STRING(TOUPPER ${LOWERCORE} UPPER_CORE)
|
||||
list( APPEND defs "SC_${UPPER_CORE}_DLL_IMPORTS" )
|
||||
endforeach( lib ${libs} )
|
||||
if( DEFINED defs )
|
||||
if( defs )
|
||||
set_target_properties( ${tgt} PROPERTIES COMPILE_DEFINITIONS "${defs}" )
|
||||
endif( defs )
|
||||
endif( DEFINED defs )
|
||||
ENDIF( MSVC OR BORLAND )
|
||||
ENDMACRO( DEFINE_DLL_IMPORTS tgt libs )
|
||||
|
||||
#EXCLUDE_OR_INSTALL(target destination ARGV3)
|
||||
# installs ${target} in ${destination} unless testing is enabled AND ${arg_3} == "TESTABLE",
|
||||
# in which case the EXCLUDE_FROM_ALL property is set for testing.
|
||||
# EXCLUDE_FROM_ALL cannot be set on targets that are to be installed,
|
||||
# so either test the target or install it - but not both
|
||||
MACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
|
||||
if( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
|
||||
INSTALL(TARGETS ${target} DESTINATION ${dest})
|
||||
else( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
|
||||
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
|
||||
endif( NOT ( ( SC_ENABLE_TESTING ) AND ( "${arg_3}" STREQUAL "TESTABLE" ) ) )
|
||||
ENDMACRO(EXCLUDE_OR_INSTALL target dest arg_3 )
|
||||
|
||||
#SC_ADDEXEC( execname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
|
||||
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
|
||||
# optional args can also be used by MSVC-specific code, but it looks like these two uses
|
||||
# will not conflict because the MSVC args must contain "STRICT"
|
||||
MACRO(SC_ADDEXEC execname srcslist libslist)
|
||||
add_executable(${execname} ${srcslist})
|
||||
target_link_libraries(${execname} ${libslist})
|
||||
DEFINE_DLL_IMPORTS(${execname} "${libslist}") #add import definitions for all libs that the executable is linked to
|
||||
EXCLUDE_OR_INSTALL( ${execname} "bin" "${ARGV3}" )
|
||||
# Enable extra compiler flags if local executables and/or global options dictate
|
||||
SET(LOCAL_COMPILE_FLAGS "")
|
||||
FOREACH(extraarg ${ARGN})
|
||||
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
|
||||
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
|
||||
ENDIF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
|
||||
ENDFOREACH(extraarg ${ARGN})
|
||||
IF(LOCAL_COMPILE_FLAGS)
|
||||
SET_TARGET_PROPERTIES(${execname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(LOCAL_COMPILE_FLAGS)
|
||||
ENDMACRO(SC_ADDEXEC execname srcslist libslist)
|
||||
|
||||
#SC_ADDLIB( libname "source files" "linked libs" ["TESTABLE"] ["MSVC flag" ...])
|
||||
# optional 4th argument of "TESTABLE", passed to EXCLUDE_OR_INSTALL macro
|
||||
# optional args can also be used by MSVC-specific code, but it looks like these two uses
|
||||
# will not conflict because the MSVC args must contain "STRICT"
|
||||
MACRO(SC_ADDLIB libname srcslist libslist)
|
||||
STRING(REGEX REPLACE "-framework;" "-framework " libslist "${libslist1}")
|
||||
IF(SC_BUILD_SHARED_LIBS)
|
||||
add_library(${libname} SHARED ${srcslist})
|
||||
DEFINE_DLL_EXPORTS(${libname})
|
||||
if(NOT "${libs}" MATCHES "NONE")
|
||||
target_link_libraries(${libname} ${libslist})
|
||||
DEFINE_DLL_IMPORTS(${libname} "${libslist}" )
|
||||
endif(NOT "${libs}" MATCHES "NONE")
|
||||
SET_TARGET_PROPERTIES(${libname} PROPERTIES VERSION ${SC_ABI_VERSION} SOVERSION ${SC_ABI_SOVERSION} )
|
||||
EXCLUDE_OR_INSTALL( ${libname} "lib" "${ARGV3}" )
|
||||
if(APPLE)
|
||||
set_target_properties(${libname} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
|
||||
endif(APPLE)
|
||||
ENDIF(SC_BUILD_SHARED_LIBS)
|
||||
IF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
add_library(${libname}-static STATIC ${srcslist})
|
||||
DEFINE_DLL_EXPORTS(${libname}-static)
|
||||
if(NOT ${libs} MATCHES "NONE")
|
||||
target_link_libraries(${libname}-static "${libslist}")
|
||||
DEFINE_DLL_IMPORTS(${libname}-static ${libslist} )
|
||||
endif(NOT ${libs} MATCHES "NONE")
|
||||
IF(NOT WIN32)
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES OUTPUT_NAME "${libname}")
|
||||
ENDIF(NOT WIN32)
|
||||
IF(WIN32)
|
||||
# We need the lib prefix on win32, so add it even if our add_library
|
||||
# wrapper function has removed it due to the target name - see
|
||||
# http://www.cmake.org/Wiki/CMake_FAQ#How_do_I_make_my_shared_and_static_libraries_have_the_same_root_name.2C_but_different_suffixes.3F
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES PREFIX "lib")
|
||||
ENDIF(WIN32)
|
||||
EXCLUDE_OR_INSTALL( ${libname}-static "lib" "${ARGV3}" )
|
||||
if(APPLE)
|
||||
set_target_properties(${libname}-static PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
|
||||
endif(APPLE)
|
||||
ENDIF(SC_BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
# Enable extra compiler flags if local libraries and/or global options dictate
|
||||
SET(LOCAL_COMPILE_FLAGS "")
|
||||
FOREACH(extraarg ${ARGN})
|
||||
IF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
|
||||
SET(LOCAL_COMPILE_FLAGS "${LOCAL_COMPILE_FLAGS} ${STRICT_FLAGS}")
|
||||
ENDIF(${extraarg} MATCHES "STRICT" AND SC-ENABLE_STRICT)
|
||||
ENDFOREACH(extraarg ${ARGN})
|
||||
IF(LOCAL_COMPILE_FLAGS)
|
||||
IF(BUILD_SHARED_LIBS)
|
||||
SET_TARGET_PROPERTIES(${libname} PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(BUILD_SHARED_LIBS)
|
||||
IF(BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
SET_TARGET_PROPERTIES(${libname}-static PROPERTIES COMPILE_FLAGS ${LOCAL_COMPILE_FLAGS})
|
||||
ENDIF(BUILD_STATIC_LIBS AND NOT MSVC)
|
||||
ENDIF(LOCAL_COMPILE_FLAGS)
|
||||
ENDMACRO(SC_ADDLIB libname srcslist libslist)
|
||||
@@ -1,100 +0,0 @@
|
||||
# Inherit the parent CMake setting
|
||||
set(CURRENT_SOURCE_DIR "@CMAKE_CURRENT_SOURCE_DIR@")
|
||||
set(LEMON_EXECUTABLE "@LEMON_EXECUTABLE@")
|
||||
set(RE2C_EXECUTABLE "@RE2C_EXECUTABLE@")
|
||||
set(PERPLEX_EXECUTABLE "@PERPLEX_EXECUTABLE@")
|
||||
set(SYNC_SCRIPT "@SYNC_SCRIPT@")
|
||||
set(SYNC_TARGET_NAME "@SYNC_TARGET_NAME@")
|
||||
set(DEBUGGING_GENERATED_SOURCES "@DEBUGGING_GENERATED_SOURCES@")
|
||||
|
||||
if(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
# Include the file the provides the baseline against which
|
||||
# current files will be compared
|
||||
include("@BASELINE_INFORMATION_FILE@")
|
||||
|
||||
# Define a variety of convenience routines
|
||||
include("@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake")
|
||||
|
||||
# The following need to be checked:
|
||||
#
|
||||
# 1. baseline input MD5 hashes against the current input
|
||||
# hashes. If the cached sources were generated using
|
||||
# inputs other than the current inputs, note they are
|
||||
# out of sync but don't stop. Templates used by perplex
|
||||
# and lemon are part of this group.
|
||||
#
|
||||
# 2. baseline cached source MD5 hashes against current
|
||||
# cached source MD5 hashes. Making sure no changes
|
||||
# have been made to the generated sources. If the
|
||||
# cached sources need to be updated (see #1, for example)
|
||||
# their MD5 hashes need to be updated at the same time.
|
||||
#
|
||||
# 3. MD5 hashes of output generated by the tools against
|
||||
# the MD5 hashes of the equalivent cached sources, if
|
||||
# a) the tool versions are the same b) the input MD5
|
||||
# hash comparisions were the same and c) the baseline
|
||||
# test from #2 passed. This is done to detect platform
|
||||
# differences in output sources, but is only valid if
|
||||
# the input files are in their "pristine" state and the
|
||||
# toolchain is equalivent to that used for the baseline.
|
||||
|
||||
# Individually verify all of the files in question.
|
||||
set(input_files "@INPUT_FILELIST@")
|
||||
VERIFY_FILES("${input_files}" 0 input_unchanged)
|
||||
set(template_files "@TEMPLATE_FILELIST@")
|
||||
VERIFY_FILES("${template_files}" 1 templates_unchanged)
|
||||
set(cached_files "@CACHED_FILELIST@")
|
||||
VERIFY_FILES("${cached_files}" 1 cached_unchanged)
|
||||
if(NOT cached_unchanged)
|
||||
message(FATAL_ERROR "Cached generated sources do not match the MD5 hashes present in @BASELINE_INFORMATION_FILE@ - if updating cached sources, remember that the build enforces the requirement that associated MD5 hashes in @BASELINE_INFORMATION_FILE@ are current as well. Cached generated sources should not be directly edited.")
|
||||
endif(NOT cached_unchanged)
|
||||
|
||||
GET_GENERATOR_EXEC_VERSIONS()
|
||||
|
||||
if("${lemon_version}" VERSION_EQUAL "${baseline_lemon_version}" AND "${perplex_version}" VERSION_EQUAL "${baseline_perplex_version}" AND "${re2c_version}" VERSION_EQUAL "${baseline_re2c_version}")
|
||||
set(tool_versions_equal 1)
|
||||
else()
|
||||
set(tool_versions_equal 0)
|
||||
endif()
|
||||
|
||||
if(NOT input_unchanged)
|
||||
if(templates_unchanged AND tool_versions_equal)
|
||||
message("Input files changed - syncing cached outputs")
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -P ${SYNC_SCRIPT} OUTPUT_VARIABLE output)
|
||||
else(templates_unchanged AND tool_versions_equal)
|
||||
if(NOT templates_unchanged AND NOT tool_versions_equal)
|
||||
message("Input files have been updated, but templates and current tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
|
||||
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
|
||||
else(NOT templates_unchanged AND NOT tool_versions_equal)
|
||||
if(NOT templates_unchanged)
|
||||
message("Input files have been updated, but templates do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
|
||||
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
|
||||
endif(NOT templates_unchanged)
|
||||
if(NOT tool_versions_equal)
|
||||
message("Input files have been updated, but tool versions do not match those previously used to generate cached sources. Automatic syncing will not proceed.")
|
||||
message("To force syncing, use the build target ${SYNC_TARGET_NAME}")
|
||||
endif(NOT tool_versions_equal)
|
||||
endif(NOT templates_unchanged AND NOT tool_versions_equal)
|
||||
endif(templates_unchanged AND tool_versions_equal)
|
||||
else(NOT input_unchanged)
|
||||
if(templates_unchanged AND cached_unchanged AND tool_versions_equal)
|
||||
# Under these conditions, the uncached generated output should be equal to the cached files.
|
||||
# Check if it is - a difference here may indicate a platform-specific behavior in one of the
|
||||
# generators.
|
||||
set(build_files "@BUILD_OUTPUT_FILELIST@")
|
||||
VERIFY_FILES("${build_files}" 1 platform_unchanged)
|
||||
if(NOT platform_unchanged)
|
||||
message("Note: give these build inputs and tools, source files should be identical to generated files. Differences were still observed - possible indiciation of platform-specific generator behavior.")
|
||||
endif(NOT platform_unchanged)
|
||||
endif(templates_unchanged AND cached_unchanged AND tool_versions_equal)
|
||||
endif(NOT input_unchanged)
|
||||
else(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
|
||||
endif(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -5,54 +5,54 @@
|
||||
# http://stackoverflow.com/questions/3780667
|
||||
# http://www.cmake.org/pipermail/cmake/2009-February/027014.html
|
||||
|
||||
#sc_version_string.h defines sc_version() which returns a pretty commit description and a build timestamp.
|
||||
#scl_version_string.h defines scl_version() which returns a pretty commit description and a build timestamp.
|
||||
|
||||
set(SC_IS_SUBBUILD "@SC_IS_SUBBUILD@")
|
||||
set(SCL_IS_SUBBUILD "@SCL_IS_SUBBUILD@")
|
||||
|
||||
set(VERS_FILE ${SOURCE_DIR}/SC_VERSION.txt )
|
||||
set(VERS_FILE ${SOURCE_DIR}/SCL_VERSION.txt )
|
||||
if( EXISTS ${SOURCE_DIR}/.git )
|
||||
find_package(Git QUIET)
|
||||
if(GIT_FOUND)
|
||||
execute_process(COMMAND ${GIT_EXECUTABLE} describe --tags RESULT_VARIABLE res_var OUTPUT_VARIABLE GIT_COMMIT_ID )
|
||||
if( NOT ${res_var} EQUAL 0 )
|
||||
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
message( WARNING "Git failed (probably no tags in repo). Build will contain revision info from ${VERS_FILE}." )
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
endif()
|
||||
else(GIT_FOUND)
|
||||
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
message( WARNING "Git not found. Build will contain revision info from ${VERS_FILE}." )
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
endif(GIT_FOUND)
|
||||
else()
|
||||
file( READ ${VERS_FILE} GIT_COMMIT_ID LIMIT 255 )
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
message( WARNING "Git failed ('.git' not found). Build will contain revision info from ${VERS_FILE}." )
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
endif()
|
||||
|
||||
string( REPLACE "\n" "" GIT_COMMIT_ID ${GIT_COMMIT_ID} )
|
||||
|
||||
set( vstring "//sc_version_string.h - written by cmake. Changes will be lost!\n"
|
||||
"#ifndef SC_VERSION_STRING\n"
|
||||
"#define SC_VERSION_STRING\n\n"
|
||||
set( vstring "//scl_version_string.h - written by cmake. Changes will be lost!\n"
|
||||
"#ifndef SCL_VERSION_STRING\n"
|
||||
"#define SCL_VERSION_STRING\n\n"
|
||||
"/*\n** Returns a string like \"test-1-g5e1fb47, built at TIME on DATE\", where test is the\n"
|
||||
"** name of the last tagged git revision, 1 is the number of commits since that tag,\n"
|
||||
"** 'g' is unknown, 5e1fb47 is the first 7 chars of the git sha1 commit id, and TIME\n"
|
||||
"** and DATE are substituted by the compiler.\n*/\n\n"
|
||||
"const char* sc_version() {\n"
|
||||
" return \"git commit id ${GIT_COMMIT_ID}, built at \" __TIME__ \" on \" __DATE__ \;\n"
|
||||
"const char* scl_version() {\n"
|
||||
" return \"git commit id ${GIT_COMMIT_ID}, built at \"__TIME__\" on \"__DATE__\;\n"
|
||||
"}\n\n"
|
||||
"#endif\n"
|
||||
)
|
||||
|
||||
file(WRITE sc_version_string.h.txt ${vstring} )
|
||||
file(WRITE scl_version_string.h.txt ${vstring} )
|
||||
# copy the file to the final header only if the version changes
|
||||
# reduces needless rebuilds
|
||||
execute_process(COMMAND ${CMAKE_COMMAND} -E copy_if_different
|
||||
sc_version_string.h.txt ${BINARY_DIR}/include/sc_version_string.h)
|
||||
if(NOT SC_IS_SUBBUILD)
|
||||
message("-- sc_version_string.h is up-to-date.")
|
||||
endif(NOT SC_IS_SUBBUILD)
|
||||
scl_version_string.h.txt ${BINARY_DIR}/include/scl_version_string.h)
|
||||
if(NOT SCL_IS_SUBBUILD)
|
||||
message("-- scl_version_string.h is up-to-date.")
|
||||
endif(NOT SCL_IS_SUBBUILD)
|
||||
@@ -1,83 +0,0 @@
|
||||
# Inherit the parent CMake setting
|
||||
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
|
||||
set(CURRENT_BINARY_DIR @CMAKE_CURRENT_BINARY_DIR@)
|
||||
set(CACHED_FILES_DIR @CACHED_FILES_DIR@)
|
||||
set(LEMON_EXECUTABLE @LEMON_EXECUTABLE@)
|
||||
set(RE2C_EXECUTABLE @RE2C_EXECUTABLE@)
|
||||
set(PERPLEX_EXECUTABLE @PERPLEX_EXECUTABLE@)
|
||||
set(LOCKED_SOURCE_DIR @LOCKED_SOURCE_DIR@)
|
||||
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
|
||||
|
||||
if(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
# Define a variety of convenience routines
|
||||
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
|
||||
|
||||
# The following steps are executed to sync generated sources:
|
||||
#
|
||||
# 1. Create a new verification_info.cmake file and populate
|
||||
# it with the current versions of perplex, re2c and lemon.
|
||||
# Also add the MD5 sums for current template files.
|
||||
#
|
||||
# 2. For all files that need to be updated in the cache,
|
||||
# calculate new MD5 sums and add them to the new
|
||||
# verification_info.cmake - this is usually the input
|
||||
# files and the generated outputs.
|
||||
#
|
||||
# 3. Overwrite the original cached verification_info.cmake
|
||||
# and generated files with the new ones. If LOCKED_SOURCE_DIR
|
||||
# is ON, this step will not be carried out - instead, an
|
||||
# informational message with manual updating instructions
|
||||
# will be printed.
|
||||
|
||||
set(new_info_file "${CURRENT_BINARY_DIR}/verification_info.cmake.new")
|
||||
|
||||
|
||||
file(WRITE ${new_info_file} "# Autogenerated verification information\n")
|
||||
|
||||
# Handle generator version numbers
|
||||
GET_GENERATOR_EXEC_VERSIONS()
|
||||
file(APPEND ${new_info_file} "set(baseline_lemon_version \"${lemon_version}\")\n")
|
||||
file(APPEND ${new_info_file} "set(baseline_re2c_version \"${re2c_version}\")\n")
|
||||
file(APPEND ${new_info_file} "set(baseline_perplex_version \"${perplex_version}\")\n")
|
||||
|
||||
# Handle template files
|
||||
set(template_files "@TEMPLATE_FILELIST@")
|
||||
WRITE_MD5_SUMS("${template_files}" "${new_info_file}")
|
||||
|
||||
# Handle input files
|
||||
set(input_files "@INPUT_FILELIST@")
|
||||
WRITE_MD5_SUMS("${input_files}" "${new_info_file}")
|
||||
|
||||
# Handle generated files
|
||||
set(output_files "@BUILD_OUTPUT_FILELIST@")
|
||||
WRITE_MD5_SUMS("${output_files}" "${new_info_file}")
|
||||
|
||||
# Copy files into their final locations
|
||||
if(NOT LOCKED_SOURCE_DIR)
|
||||
configure_file(${new_info_file} "${CACHED_FILES_DIR}/verification_info.cmake" COPYONLY)
|
||||
foreach(outf ${output_files})
|
||||
get_filename_component(filecorename ${outf} NAME)
|
||||
message("copying ${outf} to ${CACHED_FILES_DIR}/${filecorename}")
|
||||
configure_file(${outf} "${CACHED_FILES_DIR}/${filecorename}" COPYONLY)
|
||||
endforeach(outf ${output_files})
|
||||
else(NOT LOCKED_SOURCE_DIR)
|
||||
message("Source directory writing is locked - LOCKED_SOURCE_DIR is set.")
|
||||
message("To update the generated files, manually copy the following to ${CACHED_FILES_DIR}:")
|
||||
message(" ${new_info_file} (rename to verification_info.cmake)")
|
||||
foreach(outf ${output_files})
|
||||
message(" ${outf}")
|
||||
endforeach(outf ${output_files})
|
||||
endif(NOT LOCKED_SOURCE_DIR)
|
||||
|
||||
else (NOT DEBUGGING_GENERATED_SOURCES)
|
||||
|
||||
message("\nNote: DEBUGGING_GENERATED_SOURCES is enabled - generated outputs will contain configuration-specific debugging information, so syncing cached output files is not possible. To restore normal behavior, disable DEBUGGING_GENERATED_SOURCES.\n")
|
||||
|
||||
endif(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
@@ -1,37 +0,0 @@
|
||||
# Inherit the parent CMake setting
|
||||
set(DEBUGGING_GENERATED_SOURCES @DEBUGGING_GENERATED_SOURCES@)
|
||||
set(CURRENT_SOURCE_DIR @CMAKE_CURRENT_SOURCE_DIR@)
|
||||
|
||||
# Include the file the provides the baseline against which
|
||||
# current files will be compared
|
||||
if(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
|
||||
include(@BASELINE_INFORMATION_FILE@)
|
||||
|
||||
# Define a variety of convenience routines
|
||||
include(@PROJECT_CMAKE_DIR@/Generated_Source_Utils.cmake)
|
||||
|
||||
# Individually verify all of the files in question.
|
||||
set(filelist "@CACHED_FILELIST@")
|
||||
VERIFY_FILES("${filelist}" 1 srcs_pass)
|
||||
if(NOT srcs_pass)
|
||||
message(FATAL_ERROR "Generated sources have been modified. These files should never be modified directly except when debugging faulty output from the generators - changes to lexer and parser logic should be made to the generator input files. If this is a debugging situation, set the variable DEBUGGING_GENERATED_SOURCES to ON during the CMake configure.")
|
||||
endif(NOT srcs_pass)
|
||||
|
||||
# If we got by that test, see if it looks like these
|
||||
# sources came from the current input files. It's not
|
||||
# a failure condition if they didn't, but warn about it.
|
||||
set(filelist "@INPUT_FILELIST@")
|
||||
VERIFY_FILES("${filelist}" 0 inputs_same)
|
||||
if(NOT inputs_same)
|
||||
message("Note: cached generated sources are not in sync with input files.")
|
||||
endif(NOT inputs_same)
|
||||
|
||||
endif(NOT DEBUGGING_GENERATED_SOURCES)
|
||||
|
||||
# Local Variables:
|
||||
# tab-width: 8
|
||||
# mode: cmake
|
||||
# indent-tabs-mode: t
|
||||
# End:
|
||||
# ex: shiftwidth=2 tabstop=8
|
||||
+3
-3
@@ -8,14 +8,14 @@ set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
|
||||
set( CTEST_INITIAL_CACHE "
|
||||
SITE:STRING=${CTEST_SITE}
|
||||
BUILDNAME:STRING=${CTEST_BUILD_NAME}
|
||||
SC_ENABLE_TESTING:BOOL=ON
|
||||
SC_BUILD_TYPE:STRING=Debug
|
||||
SCL_ENABLE_TESTING:BOOL=ON
|
||||
SCL_BUILD_TYPE:STRING=Debug
|
||||
")
|
||||
|
||||
|
||||
ctest_start(matrix)
|
||||
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
||||
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSC_ENABLE_TESTING=ON )
|
||||
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS -DSCL_ENABLE_TESTING=ON )
|
||||
ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" )
|
||||
message("running tests")
|
||||
ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" INCLUDE_LABEL "cpp_schema_....*" )
|
||||
|
||||
+49
-92
@@ -1,32 +1,25 @@
|
||||
# To build one or more schemas, configure with
|
||||
# 'cmake -DSC_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
|
||||
|
||||
MACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
|
||||
string(REPLACE "${SC_SOURCE_DIR}" "" subpath "${current_dir}")
|
||||
string(REGEX REPLACE "^/" "" subpath "${subpath}")
|
||||
string(LENGTH "${subpath}" PATH_LENGTH)
|
||||
if(PATH_LENGTH GREATER 0)
|
||||
set(${rel_path} "..")
|
||||
get_filename_component(subpath "${subpath}" PATH)
|
||||
string(LENGTH "${subpath}" PATH_LENGTH)
|
||||
while(PATH_LENGTH GREATER 0)
|
||||
set(${rel_path} "${${rel_path}}/..")
|
||||
get_filename_component(subpath "${subpath}" PATH)
|
||||
string(LENGTH "${subpath}" PATH_LENGTH)
|
||||
endwhile(PATH_LENGTH GREATER 0)
|
||||
endif(PATH_LENGTH GREATER 0)
|
||||
ENDMACRO(RELATIVE_PATH_TO_TOPLEVEL current_dir rel_path)
|
||||
#this sets a property so that the target doesn't get built by 'make' or 'make all'
|
||||
#useful when testing generation of schema code/compiling schem libs/etc
|
||||
FUNCTION( TESTABLE_TARGET target )
|
||||
if(SCL_ENABLE_TESTING)
|
||||
set_target_properties( ${target} PROPERTIES EXCLUDE_FROM_ALL ON )
|
||||
endif()
|
||||
ENDFUNCTION( TESTABLE_TARGET )
|
||||
|
||||
# This function runs fedex on one express file. The generated source goes in a dir
|
||||
# in the build dir, and it is compiled into a library. A p21read executable is
|
||||
# To build one or more schemas, configure with
|
||||
# 'cmake -DSCL_BUILD_SCHEMAS="path/to/schema.exp;path/to/schema2.exp"
|
||||
|
||||
# This function runs fedex on one express file. The generated source goes in a dir
|
||||
# in the build dir, and it is compiled into a library. A p21read executable is
|
||||
# compiled and linked to the lib. p21read is used to test the lib.
|
||||
FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
|
||||
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #is it a path relative to build dir?
|
||||
if( EXISTS "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" ) #try absolute path. if that fails, must already be absolute.
|
||||
set( SCHEMA_FILE "${CMAKE_BINARY_DIR}/${SCHEMA_FILE}" )
|
||||
elseif( EXISTS "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" ) # path relative to STEPcode/data?
|
||||
set( SCHEMA_FILE "${SC_SOURCE_DIR}/data/${SCHEMA_FILE}" )
|
||||
elseif( NOT EXISTS ${SCHEMA_FILE} ) # absolute path
|
||||
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SC_SOURCE_DIR}/data/${SCHEMA_FILE} or ${SCHEMA_FILE}" )
|
||||
else()
|
||||
if( NOT EXISTS ${SCHEMA_FILE} )
|
||||
message( FATAL_ERROR "Cannot find ${CMAKE_BINARY_DIR}/${SCHEMA_FILE} or ${SCHEMA_FILE}")
|
||||
endif()
|
||||
endif()
|
||||
|
||||
if( IS_DIRECTORY ${SCHEMA_FILE} ) #if it is a dir, look for one .exp file inside
|
||||
@@ -43,10 +36,10 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
|
||||
string(TOUPPER ${SCHEMA_N} SCHEMA_LONG_NAME) #fedex_plus always uses upper case for file names
|
||||
get_filename_component( SCHEMA_SN ${SCHEMA_FILE} NAME )
|
||||
string( REGEX REPLACE "\(.*\).[Ee][Xx][Pp]" "\\1" SCHEMA_SHORT_NAME ${SCHEMA_SN} )
|
||||
|
||||
|
||||
project( sdai_${SCHEMA_SHORT_NAME} )
|
||||
message( STATUS "Generating code for ${SCHEMA_SHORT_NAME}.")
|
||||
set( SCHEMA_OUTPUT_DIR ${CMAKE_CURRENT_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
|
||||
set( SCHEMA_OUTPUT_DIR ${CMAKE_BINARY_DIR}/${SCHEMA_SHORT_NAME} )
|
||||
|
||||
#the names of the files that will be generated
|
||||
set( FEDEX_OUT ${SCHEMA_OUTPUT_DIR}/compstructs.cc ${SCHEMA_OUTPUT_DIR}/Sdaiclasses.h
|
||||
@@ -58,11 +51,11 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
|
||||
# multiple schemas, each one will use the include dirs from all previous schemas. Since
|
||||
# one header (schema.h) is always named the same, this will not work. only workaround
|
||||
# seems to be set_target_properties( <target> PROPERTIES COMPILE_FLAGS <flags> )
|
||||
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SC_SOURCE_DIR}/src/cldai -I${SC_SOURCE_DIR}/src/cleditor -I${SC_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SC_SOURCE_DIR}/src/clstepcore -I${SC_SOURCE_DIR}/src/base" )
|
||||
set( ${PROJECT_NAME}_COMPILE_FLAGS "-I${CMAKE_CURRENT_SOURCE_DIR} -I${SCL_SOURCE_DIR}/src/cldai -I${SCL_SOURCE_DIR}/src/cleditor -I${SCL_SOURCE_DIR}/src/clutils -I${SCHEMA_OUTPUT_DIR} -I${SCL_SOURCE_DIR}/src/clstepcore -I${SCL_SOURCE_DIR}/src/base" )
|
||||
|
||||
add_custom_target( generate_cpp_${SCHEMA_SHORT_NAME} SOURCES ${FEDEX_OUT} )
|
||||
add_custom_command( OUTPUT ${SCHEMA_OUTPUT_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
|
||||
COMMAND cmake ARGS -E make_directory ${SCHEMA_OUTPUT_DIR}
|
||||
COMMENT "Creating ${SCHEMA_OUTPUT_DIR} for schema ${SCHEMA_SHORT_NAME}")
|
||||
add_custom_command( OUTPUT ${FEDEX_OUT}
|
||||
COMMAND fedex_plus ARGS ${SCHEMA_FILE}
|
||||
@@ -70,23 +63,24 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
|
||||
WORKING_DIRECTORY ${SCHEMA_OUTPUT_DIR}
|
||||
COMMENT "Running fedex_plus for ${SCHEMA_SHORT_NAME}..."
|
||||
VERBATIM )
|
||||
|
||||
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
|
||||
# Coverage will always be sparse on schema libs. Compiling the libs with the -fprofile-arcs and
|
||||
# -ftest-coverage is extremely slow. We can avoid that by temporarily changing build type to release.
|
||||
set( PREV_BUILD_TYPE ${CMAKE_BUILD_TYPE} )
|
||||
set( CMAKE_BUILD_TYPE "Release" )
|
||||
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
|
||||
|
||||
# if testing is enabled, "TESTABLE" sets property EXCLUDE_FROM_ALL and prevents installation
|
||||
SC_ADDLIB( ${PROJECT_NAME} "${FEDEX_OUT}" "stepdai;stepcore;express;stepeditor;steputils;base" "TESTABLE" )
|
||||
if(MSVC OR BORLAND)
|
||||
add_definitions( -DSCL_SCHEMA_DLL_EXPORTS )
|
||||
add_definitions( -DSCL_BASE_DLL_IMPORTS )
|
||||
add_definitions( -DSCL_EXPRESS_DLL_IMPORTS )
|
||||
add_definitions( -DSCL_UTILS_DLL_IMPORTS )
|
||||
add_definitions( -DSCL_DAI_DLL_IMPORTS )
|
||||
add_definitions( -DSCL_CORE_DLL_IMPORTS )
|
||||
add_definitions( -DSCL_EDITOR_DLL_IMPORTS )
|
||||
endif()
|
||||
add_library( ${PROJECT_NAME} SHARED ${FEDEX_OUT} )
|
||||
target_link_libraries(${PROJECT_NAME} stepdai stepcore express stepeditor steputils base )
|
||||
add_dependencies( ${PROJECT_NAME} generate_cpp_${SCHEMA_SHORT_NAME} )
|
||||
set_target_properties( ${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
|
||||
${${PROJECT_NAME}_COMPILE_FLAGS} )
|
||||
|
||||
if( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
|
||||
set( CMAKE_BUILD_TYPE ${PREV_BUILD_TYPE} )
|
||||
endif( SC_ENABLE_COVERAGE AND NOT SC_COVER_SCHEMAS )
|
||||
if(APPLE)
|
||||
set_target_properties(${PROJECT_NAME} PROPERTIES LINK_FLAGS "-flat_namespace -undefined suppress")
|
||||
endif(APPLE)
|
||||
TESTABLE_TARGET( ${PROJECT_NAME} )
|
||||
|
||||
add_test( NAME generate_cpp_${SCHEMA_SHORT_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
@@ -98,77 +92,40 @@ FUNCTION(BUILD_A_SCHEMA SCHEMA_FILE)
|
||||
COMMAND ${CMAKE_COMMAND} --build .
|
||||
--target p21read_${PROJECT_NAME}
|
||||
--config $<CONFIGURATION> )
|
||||
if(NOT WIN32)
|
||||
add_test( NAME build_lazy_cpp_${PROJECT_NAME}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND ${CMAKE_COMMAND} --build .
|
||||
--target lazy_${PROJECT_NAME}
|
||||
--config $<CONFIGURATION> )
|
||||
endif(NOT WIN32)
|
||||
|
||||
# label the tests and set dependencies
|
||||
set_tests_properties( generate_cpp_${SCHEMA_SHORT_NAME} PROPERTIES LABELS cpp_schema_gen )
|
||||
if(NOT WIN32)
|
||||
set_tests_properties( build_lazy_cpp_${PROJECT_NAME} build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
|
||||
endif(NOT WIN32)
|
||||
set_tests_properties( build_cpp_${PROJECT_NAME} PROPERTIES DEPENDS generate_cpp_${SCHEMA_SHORT_NAME} LABELS cpp_schema_build )
|
||||
|
||||
RELATIVE_PATH_TO_TOPLEVEL(${CMAKE_CURRENT_SOURCE_DIR} RELATIVE_PATH_COMPONENT)
|
||||
SC_ADDEXEC( p21read_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/test/p21read/p21read.cc" "${PROJECT_NAME};base" "TESTABLE" )
|
||||
if(NOT WIN32)
|
||||
SC_ADDEXEC( lazy_${PROJECT_NAME} "${RELATIVE_PATH_COMPONENT}/src/cllazyfile/lazy_test.cc" "${PROJECT_NAME};steplazyfile;stepeditor" "TESTABLE" )
|
||||
endif(NOT WIN32)
|
||||
if(MSVC OR BORLAND)
|
||||
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc ${SCL_SOURCE_DIR}/src/fedex_plus/xgetopt.cc )
|
||||
else()
|
||||
add_executable( p21read_${PROJECT_NAME} ${SCL_SOURCE_DIR}/src/test/p21read/p21read.cc )
|
||||
endif()
|
||||
add_dependencies( p21read_${PROJECT_NAME} version_string )
|
||||
if(NOT WIN32)
|
||||
add_dependencies( lazy_${PROJECT_NAME} version_string )
|
||||
endif(NOT WIN32)
|
||||
target_link_libraries( p21read_${PROJECT_NAME} ${PROJECT_NAME} )
|
||||
set_target_properties( p21read_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
|
||||
${${PROJECT_NAME}_COMPILE_FLAGS} )
|
||||
if(NOT WIN32)
|
||||
set_target_properties( lazy_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS "${${PROJECT_NAME}_COMPILE_FLAGS} -I${SC_SOURCE_DIR}/src/base/judy/src" )
|
||||
endif(NOT WIN32)
|
||||
|
||||
|
||||
#add user-defined executables
|
||||
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
|
||||
get_filename_component( name ${src} NAME_WE )
|
||||
get_filename_component( path ${src} ABSOLUTE )
|
||||
SC_ADDEXEC( ${name}_${PROJECT_NAME} "${src}" "${PROJECT_NAME};base" "TESTABLE" )
|
||||
add_dependencies( ${name}_${PROJECT_NAME} version_string )
|
||||
set_target_properties( ${name}_${PROJECT_NAME} PROPERTIES COMPILE_FLAGS
|
||||
"${${PROJECT_NAME}_COMPILE_FLAGS} -I${path}" )
|
||||
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
|
||||
TESTABLE_TARGET( p21read_${PROJECT_NAME} )
|
||||
|
||||
#find all part 21 files in schema dir, add a test for each one
|
||||
get_filename_component( SCHEMA_DIR ${SCHEMA_FILE} PATH )
|
||||
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 ${SCHEMA_DIR}/*.ifc )
|
||||
file( GLOB_RECURSE P21_FILES ${SCHEMA_DIR}/*.stp ${SCHEMA_DIR}/*.step ${SCHEMA_DIR}/*.p21 )
|
||||
foreach( TEST_FILE ${P21_FILES} )
|
||||
get_filename_component( FNAME ${TEST_FILE} NAME_WE )
|
||||
add_test( NAME read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND p21read_${PROJECT_NAME} ${TEST_FILE} )
|
||||
set_tests_properties( read_write_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
|
||||
if(NOT WIN32)
|
||||
add_test( NAME read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME}
|
||||
WORKING_DIRECTORY ${CMAKE_BINARY_DIR}
|
||||
COMMAND lazy_${PROJECT_NAME} ${TEST_FILE} )
|
||||
set_tests_properties( read_lazy_cpp_${SCHEMA_SHORT_NAME}_${FNAME} PROPERTIES DEPENDS build_lazy_cpp_${PROJECT_NAME} LABELS cpp_schema_rw )
|
||||
endif(NOT WIN32)
|
||||
endforeach()
|
||||
|
||||
ENDFUNCTION(BUILD_A_SCHEMA)
|
||||
|
||||
#----------------------------------------------------------------------------------------------------
|
||||
|
||||
if( DEFINED SC_BUILD_SCHEMAS )
|
||||
foreach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
|
||||
get_filename_component( name ${src} NAME_WE )
|
||||
message( STATUS "Additional SDAI executable: ${name}" )
|
||||
endforeach( src ${SC_SDAI_ADDITIONAL_EXES_SRCS} )
|
||||
|
||||
if( SC_BUILD_SCHEMAS STREQUAL "ALL" )
|
||||
file( GLOB_RECURSE SC_BUILD_SCHEMAS ${SC_SOURCE_DIR}/data/*.exp )
|
||||
if( DEFINED SCL_BUILD_SCHEMAS )
|
||||
if( SCL_BUILD_SCHEMAS STREQUAL "ALL" )
|
||||
file( GLOB_RECURSE SCL_BUILD_SCHEMAS ${SCL_SOURCE_DIR}/data/*.exp )
|
||||
endif()
|
||||
foreach( ap ${SC_BUILD_SCHEMAS} )
|
||||
foreach( ap ${SCL_BUILD_SCHEMAS} )
|
||||
BUILD_A_SCHEMA( ${ap} )
|
||||
endforeach()
|
||||
endif()
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -1,364 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Mon Jul 09 12:24:22 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Mon Jul 09 12:24:22 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-07-09T12:24:22',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538235= APPLICATION_CONTEXT('SimDM');
|
||||
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
|
||||
'life cycle stage');
|
||||
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
|
||||
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
|
||||
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
|
||||
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
|
||||
);
|
||||
#637538244= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
|
||||
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
|
||||
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
|
||||
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538251,#637538359),#637538257);
|
||||
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
|
||||
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
|
||||
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
|
||||
#637538351,#637538355));
|
||||
#637538253= NODE('1',(#637538255),#637538257,#637538282);
|
||||
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538257=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
|
||||
.JOULE.);
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
|
||||
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
|
||||
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
|
||||
.NEWTON.);
|
||||
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
|
||||
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
|
||||
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
|
||||
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
|
||||
);
|
||||
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
|
||||
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
|
||||
.PASCAL.);
|
||||
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538289= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538291=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538295= NODE('2',(#637538297),#637538257,#637538282);
|
||||
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538299= NODE('3',(#637538301),#637538257,#637538282);
|
||||
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538303= NODE('4',(#637538305),#637538257,#637538282);
|
||||
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538307= NODE('5',(#637538309),#637538257,#637538282);
|
||||
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538311= NODE('6',(#637538313),#637538257,#637538282);
|
||||
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538315= NODE('7',(#637538317),#637538257,#637538282);
|
||||
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538319= NODE('8',(#637538321),#637538257,#637538282);
|
||||
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538323= NODE('9',(#637538325),#637538257,#637538282);
|
||||
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538327= NODE('10',(#637538329),#637538257,#637538282);
|
||||
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538331= NODE('11',(#637538333),#637538257,#637538282);
|
||||
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538335= NODE('12',(#637538337),#637538257,#637538282);
|
||||
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538339= NODE('13',(#637538341),#637538257,#637538282);
|
||||
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538343= NODE('14',(#637538345),#637538257,#637538282);
|
||||
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538347= NODE('15',(#637538349),#637538257,#637538282);
|
||||
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538351= NODE('16',(#637538353),#637538257,#637538282);
|
||||
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538355= NODE('17',(#637538357),#637538257,#637538282);
|
||||
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538364= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538247,.U.);
|
||||
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538366);
|
||||
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538367,#637538282);
|
||||
#637538369= NAME_ATTRIBUTE('',#637538239);
|
||||
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
|
||||
#637538239));
|
||||
#637538371= GROUP('default-gpvv-type',$);
|
||||
#637538372= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
|
||||
(#637538240,#637538239,#637538241));
|
||||
#637538375= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
|
||||
#637538374));
|
||||
#637538378= ORGANIZATION($,'default-organization',$);
|
||||
#637538379= ORGANIZATION_ROLE('id context');
|
||||
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
|
||||
#637538374));
|
||||
#637538382= GROUP('id',$);
|
||||
#637538383= CLASSIFICATION_ROLE('',$);
|
||||
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538235);
|
||||
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
|
||||
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
|
||||
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
|
||||
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
|
||||
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538282,#637538249,#637538398);
|
||||
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
|
||||
#637538417,#637538422));
|
||||
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
|
||||
#637538409);
|
||||
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
|
||||
#637538404= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
|
||||
);
|
||||
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538411));
|
||||
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
|
||||
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538413);
|
||||
#637538413= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
|
||||
);
|
||||
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
|
||||
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
|
||||
#637538409);
|
||||
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
|
||||
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
|
||||
);
|
||||
#637538421= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
|
||||
#637538409);
|
||||
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
|
||||
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
|
||||
);
|
||||
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
|
||||
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
|
||||
);
|
||||
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538431);
|
||||
#637538431= DIRECTION('undefined',(1.,0.,0.));
|
||||
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
|
||||
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
|
||||
#637538456,#637538458),(#637538461,#637538464));
|
||||
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
|
||||
#637538449);
|
||||
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538447= EULER_ANGLES((0.,0.,0.));
|
||||
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
|
||||
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
|
||||
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
|
||||
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
|
||||
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
|
||||
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
|
||||
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
|
||||
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
|
||||
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
|
||||
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
|
||||
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
|
||||
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
|
||||
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
|
||||
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
|
||||
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
|
||||
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
|
||||
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
|
||||
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
|
||||
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
|
||||
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
|
||||
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
|
||||
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
|
||||
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
|
||||
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'ENDDATA 8336E13E'),('NASTRAN'));
|
||||
#637538518= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
|
||||
'STATIC STEP 1',1,#637538519,'',#637538520);
|
||||
#637538519= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538520= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538521);
|
||||
#637538521= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538522= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538518));
|
||||
#637538524= NODAL_FREEDOM_VALUES(#637538522,#637538525,#637538284,
|
||||
#637538527,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538525= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
|
||||
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
|
||||
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
|
||||
#637538347,#637538351,#637538355));
|
||||
#637538527= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538530= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538518),
|
||||
#637538253,#637538284,(#637538533,#637538534,#637538535),'');
|
||||
#637538533= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538537,#637538530
|
||||
,#637538538,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538537= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538538= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538541= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538542= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538521,
|
||||
#637538541);
|
||||
#637538543= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538541,#637538537);
|
||||
#637538544= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538546= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538521,#637538544);
|
||||
#637538547= STATE_COMPONENT('OverallComp','',#637538544,1.);
|
||||
#637538549= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538547,#637538550);
|
||||
#637538550= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538551= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538552= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538553,#637538551);
|
||||
#637538553= STATE_COMPONENT('ItemComp_2_1','',#637538550,1.);
|
||||
#637538555= NODAL_FREEDOM_ACTION_DEFINITION(#637538551,#637538355,
|
||||
#637538284,#637538556,(CONTEXT_DEPENDENT_MEASURE(-1000.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538556= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538559= ID_ATTRIBUTE('ALL',#637538525);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,385 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Tue Jun 05 10:29:55 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Tue Jun 05 10:29:54 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-06-05T10:29:55',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538233= APPLICATION_CONTEXT('SimDM');
|
||||
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
|
||||
'life cycle stage');
|
||||
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
|
||||
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
|
||||
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
|
||||
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
|
||||
);
|
||||
#637538242= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
|
||||
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
|
||||
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
|
||||
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538249,#637538357),#637538255);
|
||||
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
|
||||
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
|
||||
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
|
||||
#637538349,#637538353));
|
||||
#637538251= NODE('1',(#637538253),#637538255,#637538280);
|
||||
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538255=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
|
||||
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
|
||||
.JOULE.);
|
||||
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
|
||||
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
|
||||
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
|
||||
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
|
||||
.NEWTON.);
|
||||
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
|
||||
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
|
||||
);
|
||||
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
|
||||
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
|
||||
.PASCAL.);
|
||||
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
|
||||
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538287= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538289=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
|
||||
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538293= NODE('2',(#637538295),#637538255,#637538280);
|
||||
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538297= NODE('3',(#637538299),#637538255,#637538280);
|
||||
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538301= NODE('4',(#637538303),#637538255,#637538280);
|
||||
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538305= NODE('5',(#637538307),#637538255,#637538280);
|
||||
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538309= NODE('6',(#637538311),#637538255,#637538280);
|
||||
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538313= NODE('7',(#637538315),#637538255,#637538280);
|
||||
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538317= NODE('8',(#637538319),#637538255,#637538280);
|
||||
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538321= NODE('9',(#637538323),#637538255,#637538280);
|
||||
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538325= NODE('10',(#637538327),#637538255,#637538280);
|
||||
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538329= NODE('11',(#637538331),#637538255,#637538280);
|
||||
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538333= NODE('12',(#637538335),#637538255,#637538280);
|
||||
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538337= NODE('13',(#637538339),#637538255,#637538280);
|
||||
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538341= NODE('14',(#637538343),#637538255,#637538280);
|
||||
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538345= NODE('15',(#637538347),#637538255,#637538280);
|
||||
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538349= NODE('16',(#637538351),#637538255,#637538280);
|
||||
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538353= NODE('17',(#637538355),#637538255,#637538280);
|
||||
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538362= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538245,.U.);
|
||||
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538364);
|
||||
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538365,#637538280);
|
||||
#637538367= NAME_ATTRIBUTE('',#637538237);
|
||||
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
|
||||
#637538237));
|
||||
#637538369= GROUP('default-gpvv-type',$);
|
||||
#637538370= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
|
||||
(#637538238,#637538237,#637538239));
|
||||
#637538373= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
|
||||
#637538372));
|
||||
#637538376= ORGANIZATION($,'default-organization',$);
|
||||
#637538377= ORGANIZATION_ROLE('id context');
|
||||
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
|
||||
#637538372));
|
||||
#637538380= GROUP('id',$);
|
||||
#637538381= CLASSIFICATION_ROLE('',$);
|
||||
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538233);
|
||||
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
|
||||
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
|
||||
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
|
||||
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
|
||||
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
|
||||
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
|
||||
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538280,#637538247,#637538396);
|
||||
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
|
||||
#637538415,#637538420));
|
||||
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
|
||||
#637538407);
|
||||
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
|
||||
#637538402= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
|
||||
);
|
||||
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538409));
|
||||
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
|
||||
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538411);
|
||||
#637538411= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
|
||||
);
|
||||
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
|
||||
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
|
||||
#637538407);
|
||||
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
|
||||
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
|
||||
);
|
||||
#637538419= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
|
||||
#637538407);
|
||||
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
|
||||
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
|
||||
);
|
||||
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
|
||||
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
|
||||
);
|
||||
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538429);
|
||||
#637538429= DIRECTION('undefined',(1.,0.,0.));
|
||||
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
|
||||
#637538441= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538443),(
|
||||
#637538454,#637538456),(#637538459,#637538462));
|
||||
#637538443= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538444,#637538445,
|
||||
#637538447);
|
||||
#637538444= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538445= EULER_ANGLES((0.,0.,0.));
|
||||
#637538447= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
|
||||
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538454= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538459= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
|
||||
#637538461= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
|
||||
#637538462= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538461));
|
||||
#637538464= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538427,#637538431)
|
||||
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538467= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538427,#637538431)
|
||||
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538427,#637538431)
|
||||
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538473= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538427,#637538431)
|
||||
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538476= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538427,#637538431)
|
||||
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538479= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538427,#637538431)
|
||||
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538482= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538427,#637538431),
|
||||
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538485= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538427,#637538431),
|
||||
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538488= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538427,#637538431),
|
||||
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538491= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538427,#637538431),
|
||||
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538494= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538427,#637538431),
|
||||
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538497= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538427,#637538431),
|
||||
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538500= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538427,#637538431),
|
||||
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538503= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538427,#637538431),
|
||||
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538506= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538427,#637538431),
|
||||
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538441,
|
||||
#637538398);
|
||||
#637538509= ID_ATTRIBUTE('MAT1.1',#637538410);
|
||||
#637538510= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
|
||||
#637538511= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
|
||||
#637538512= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
|
||||
#637538513= CONTROL(#637538280,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
|
||||
#637538516= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
|
||||
'STATIC STEP 2',2,#637538517,'',#637538518);
|
||||
#637538517= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538518= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
|
||||
,'',#637538519);
|
||||
#637538519= SPECIFIED_STATE('Step 2 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538520= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
|
||||
#637538516));
|
||||
#637538522= NODAL_FREEDOM_VALUES(#637538520,#637538523,#637538282,
|
||||
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538523= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
|
||||
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
|
||||
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
|
||||
#637538345,#637538349,#637538353));
|
||||
#637538525= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538528= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538530,
|
||||
#637538516),#637538251,#637538282,(#637538534,#637538535,#637538536),''
|
||||
);
|
||||
#637538530= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538513,
|
||||
'STATIC STEP 1',1,#637538517,'',#637538531);
|
||||
#637538531= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538532);
|
||||
#637538532= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538534= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538535= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538536= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538538,#637538528
|
||||
,#637538539,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538538= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538539= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538542= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538543= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538532,
|
||||
#637538542);
|
||||
#637538544= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538542,#637538538);
|
||||
#637538545= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538547= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
|
||||
#637538519,#637538545);
|
||||
#637538548= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538532,#637538545);
|
||||
#637538549= STATE_COMPONENT('OverallComp','',#637538545,1.);
|
||||
#637538551= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538549,#637538552);
|
||||
#637538552= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538553= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538554= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538555,#637538553);
|
||||
#637538555= STATE_COMPONENT('ItemComp_2_1','',#637538552,1.);
|
||||
#637538557= NODAL_FREEDOM_ACTION_DEFINITION(#637538553,#637538353,
|
||||
#637538282,#637538558,(CONTEXT_DEPENDENT_MEASURE(-1000.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538558= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538561= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538530));
|
||||
#637538563= NODAL_FREEDOM_VALUES(#637538561,#637538523,#637538282,
|
||||
#637538525,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538565= ID_ATTRIBUTE('ALL',#637538523);
|
||||
#637538566= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
|
||||
#637538567= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538519,
|
||||
#637538566);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
@@ -1,559 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Mon Jul 09 13:15:28 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Mon Jul 09 13:15:28 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-07-09T13:15:28',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538235= APPLICATION_CONTEXT('SimDM');
|
||||
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
|
||||
'life cycle stage');
|
||||
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
|
||||
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
|
||||
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
|
||||
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
|
||||
);
|
||||
#637538244= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
|
||||
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
|
||||
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
|
||||
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538251,#637538359),#637538257);
|
||||
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
|
||||
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
|
||||
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
|
||||
#637538351,#637538355));
|
||||
#637538253= NODE('1',(#637538255),#637538257,#637538282);
|
||||
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538257=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
|
||||
.JOULE.);
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
|
||||
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
|
||||
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
|
||||
.NEWTON.);
|
||||
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
|
||||
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
|
||||
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
|
||||
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
|
||||
);
|
||||
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
|
||||
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
|
||||
.PASCAL.);
|
||||
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538289= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538291=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538295= NODE('2',(#637538297),#637538257,#637538282);
|
||||
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538299= NODE('3',(#637538301),#637538257,#637538282);
|
||||
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538303= NODE('4',(#637538305),#637538257,#637538282);
|
||||
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538307= NODE('5',(#637538309),#637538257,#637538282);
|
||||
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538311= NODE('6',(#637538313),#637538257,#637538282);
|
||||
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538315= NODE('7',(#637538317),#637538257,#637538282);
|
||||
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538319= NODE('8',(#637538321),#637538257,#637538282);
|
||||
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538323= NODE('9',(#637538325),#637538257,#637538282);
|
||||
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538327= NODE('10',(#637538329),#637538257,#637538282);
|
||||
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538331= NODE('11',(#637538333),#637538257,#637538282);
|
||||
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538335= NODE('12',(#637538337),#637538257,#637538282);
|
||||
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538339= NODE('13',(#637538341),#637538257,#637538282);
|
||||
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538343= NODE('14',(#637538345),#637538257,#637538282);
|
||||
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538347= NODE('15',(#637538349),#637538257,#637538282);
|
||||
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538351= NODE('16',(#637538353),#637538257,#637538282);
|
||||
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538355= NODE('17',(#637538357),#637538257,#637538282);
|
||||
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538364= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538247,.U.);
|
||||
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538366);
|
||||
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538367,#637538282);
|
||||
#637538369= NAME_ATTRIBUTE('',#637538239);
|
||||
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
|
||||
#637538239));
|
||||
#637538371= GROUP('default-gpvv-type',$);
|
||||
#637538372= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
|
||||
(#637538240,#637538239,#637538241));
|
||||
#637538375= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
|
||||
#637538374));
|
||||
#637538378= ORGANIZATION($,'default-organization',$);
|
||||
#637538379= ORGANIZATION_ROLE('id context');
|
||||
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
|
||||
#637538374));
|
||||
#637538382= GROUP('id',$);
|
||||
#637538383= CLASSIFICATION_ROLE('',$);
|
||||
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538235);
|
||||
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
|
||||
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
|
||||
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
|
||||
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
|
||||
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538282,#637538249,#637538398);
|
||||
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
|
||||
#637538417,#637538422));
|
||||
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
|
||||
#637538409);
|
||||
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
|
||||
#637538404= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
|
||||
);
|
||||
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538411));
|
||||
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
|
||||
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538413);
|
||||
#637538413= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
|
||||
);
|
||||
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
|
||||
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
|
||||
#637538409);
|
||||
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
|
||||
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
|
||||
);
|
||||
#637538421= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
|
||||
#637538409);
|
||||
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
|
||||
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
|
||||
);
|
||||
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
|
||||
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
|
||||
);
|
||||
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538431);
|
||||
#637538431= DIRECTION('undefined',(1.,0.,0.));
|
||||
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CROD',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.))));
|
||||
#637538443= CURVE_3D_ELEMENT_PROPERTY('PROD.1','',(#637538445),(
|
||||
#637538456,#637538458),(#637538461,#637538464));
|
||||
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
|
||||
#637538449);
|
||||
#637538446= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538447= EULER_ANGLES((0.,0.,0.));
|
||||
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(0.,0.,0.),
|
||||
0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538456= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538461= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
|
||||
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.NONE.),0.);
|
||||
#637538464= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538463));
|
||||
#637538466= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538429,#637538433)
|
||||
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538469= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538429,#637538433)
|
||||
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538429,#637538433)
|
||||
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538475= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538429,#637538433)
|
||||
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538478= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538429,#637538433)
|
||||
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538481= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538429,#637538433)
|
||||
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538484= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538429,#637538433),
|
||||
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538487= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538429,#637538433),
|
||||
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538490= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538429,#637538433),
|
||||
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538429,#637538433),
|
||||
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538496= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538429,#637538433),
|
||||
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538499= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538429,#637538433),
|
||||
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538502= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538429,#637538433),
|
||||
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538505= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538429,#637538433),
|
||||
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538508= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538429,#637538433),
|
||||
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538443,
|
||||
#637538400);
|
||||
#637538511= ID_ATTRIBUTE('MAT1.1',#637538412);
|
||||
#637538512= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
|
||||
#637538513= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
|
||||
#637538514= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
|
||||
#637538515= CONTROL(#637538282,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
|
||||
#637538518= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
|
||||
,#637538520);
|
||||
#637538519= RESULT('Result.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 06-JUL-00 AT 06:14:07');
|
||||
#637538520= CALCULATED_STATE('Calculated State for Step 2','');
|
||||
#637538521= CONTROL_RESULT_RELATIONSHIP(#637538522,#637538518);
|
||||
#637538522= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
|
||||
'STATIC STEP 2',2,#637538523,'',#637538524);
|
||||
#637538523= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538524= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
|
||||
,'',#637538525);
|
||||
#637538525= SPECIFIED_STATE('Step 2 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538526= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538515,#637538519
|
||||
,#637538527);
|
||||
#637538527= CALCULATED_STATE('Calculated State for Step 1','');
|
||||
#637538528= CONTROL_RESULT_RELATIONSHIP(#637538529,#637538526);
|
||||
#637538529= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538515,
|
||||
'STATIC STEP 1',1,#637538523,'',#637538530);
|
||||
#637538530= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538531);
|
||||
#637538531= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538532= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538533= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538531,
|
||||
#637538532);
|
||||
#637538534= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538532,#637538535);
|
||||
#637538535= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538536= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538535,#637538537
|
||||
,#637538543,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538537= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538529,
|
||||
#637538522),#637538253,#637538284,(#637538540,#637538541,#637538542),''
|
||||
);
|
||||
#637538540= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538541= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538542= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538543= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538546= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538548= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
|
||||
#637538525,#637538546);
|
||||
#637538549= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538531,#637538546);
|
||||
#637538550= STATE_COMPONENT('OverallComp','',#637538546,1.);
|
||||
#637538552= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538550,#637538553);
|
||||
#637538553= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538554= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538555= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538556,#637538554);
|
||||
#637538556= STATE_COMPONENT('ItemComp_2_1','',#637538553,1.);
|
||||
#637538558= NODAL_FREEDOM_ACTION_DEFINITION(#637538554,#637538355,
|
||||
#637538284,#637538559,(CONTEXT_DEPENDENT_MEASURE(-1000.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538559= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538562= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538529));
|
||||
#637538564= NODAL_FREEDOM_VALUES(#637538562,#637538565,#637538284,
|
||||
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538565= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
|
||||
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
|
||||
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
|
||||
#637538347,#637538351,#637538355));
|
||||
#637538567= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538570= ID_ATTRIBUTE('ALL',#637538565);
|
||||
#637538571= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
|
||||
#637538572= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538525,
|
||||
#637538571);
|
||||
#637538573= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
|
||||
#637538522));
|
||||
#637538575= NODAL_FREEDOM_VALUES(#637538573,#637538565,#637538284,
|
||||
#637538567,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538577= NODAL_FREEDOM_VALUES(#637538527,#637538253,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538579= NODAL_FREEDOM_VALUES(#637538527,#637538295,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538581= NODAL_FREEDOM_VALUES(#637538527,#637538299,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538583= NODAL_FREEDOM_VALUES(#637538527,#637538303,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538585= NODAL_FREEDOM_VALUES(#637538527,#637538307,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538587= NODAL_FREEDOM_VALUES(#637538527,#637538311,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538589= NODAL_FREEDOM_VALUES(#637538527,#637538315,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538591= NODAL_FREEDOM_VALUES(#637538527,#637538319,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538593= NODAL_FREEDOM_VALUES(#637538527,#637538323,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
|
||||
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538595= NODAL_FREEDOM_VALUES(#637538527,#637538327,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538597= NODAL_FREEDOM_VALUES(#637538527,#637538331,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538599= NODAL_FREEDOM_VALUES(#637538527,#637538335,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538601= NODAL_FREEDOM_VALUES(#637538527,#637538339,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538603= NODAL_FREEDOM_VALUES(#637538527,#637538343,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538605= NODAL_FREEDOM_VALUES(#637538527,#637538347,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538607= NODAL_FREEDOM_VALUES(#637538527,#637538351,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538609= NODAL_FREEDOM_VALUES(#637538527,#637538355,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
|
||||
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538611= NODAL_FREEDOM_VALUES(#637538520,#637538253,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538613= NODAL_FREEDOM_VALUES(#637538520,#637538295,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-1.25000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538615= NODAL_FREEDOM_VALUES(#637538520,#637538299,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-2.50000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538617= NODAL_FREEDOM_VALUES(#637538520,#637538303,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-3.75000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538619= NODAL_FREEDOM_VALUES(#637538520,#637538307,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-5.00000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538621= NODAL_FREEDOM_VALUES(#637538520,#637538311,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-6.25000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538623= NODAL_FREEDOM_VALUES(#637538520,#637538315,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-7.50000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538625= NODAL_FREEDOM_VALUES(#637538520,#637538319,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-8.75000000000000E-5),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538627= NODAL_FREEDOM_VALUES(#637538520,#637538323,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001),CONTEXT_DEPENDENT_MEASURE
|
||||
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538629= NODAL_FREEDOM_VALUES(#637538520,#637538327,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001125),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538631= NODAL_FREEDOM_VALUES(#637538520,#637538331,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000125),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538633= NODAL_FREEDOM_VALUES(#637538520,#637538335,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001375),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538635= NODAL_FREEDOM_VALUES(#637538520,#637538339,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.00015),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538637= NODAL_FREEDOM_VALUES(#637538520,#637538343,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001625),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538639= NODAL_FREEDOM_VALUES(#637538520,#637538347,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.000175),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538641= NODAL_FREEDOM_VALUES(#637538520,#637538351,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0001875),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538643= NODAL_FREEDOM_VALUES(#637538520,#637538355,#637538284,
|
||||
#637538567,(CONTEXT_DEPENDENT_MEASURE(-0.0002),CONTEXT_DEPENDENT_MEASURE
|
||||
(0.),CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
@@ -1,685 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Mon Jul 09 12:24:23 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Mon Jul 09 12:24:23 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-07-09T12:24:23',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538235= APPLICATION_CONTEXT('SimDM');
|
||||
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
|
||||
'life cycle stage');
|
||||
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
|
||||
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
|
||||
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
|
||||
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
|
||||
);
|
||||
#637538244= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
|
||||
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
|
||||
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
|
||||
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538251,#637538359),#637538257);
|
||||
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
|
||||
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
|
||||
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
|
||||
#637538351,#637538355));
|
||||
#637538253= NODE('1',(#637538255),#637538257,#637538282);
|
||||
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538257=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
|
||||
.JOULE.);
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
|
||||
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
|
||||
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
|
||||
.NEWTON.);
|
||||
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
|
||||
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
|
||||
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
|
||||
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
|
||||
);
|
||||
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
|
||||
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
|
||||
.PASCAL.);
|
||||
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538289= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538291=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538295= NODE('2',(#637538297),#637538257,#637538282);
|
||||
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538299= NODE('3',(#637538301),#637538257,#637538282);
|
||||
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538303= NODE('4',(#637538305),#637538257,#637538282);
|
||||
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538307= NODE('5',(#637538309),#637538257,#637538282);
|
||||
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538311= NODE('6',(#637538313),#637538257,#637538282);
|
||||
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538315= NODE('7',(#637538317),#637538257,#637538282);
|
||||
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538319= NODE('8',(#637538321),#637538257,#637538282);
|
||||
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538323= NODE('9',(#637538325),#637538257,#637538282);
|
||||
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538327= NODE('10',(#637538329),#637538257,#637538282);
|
||||
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538331= NODE('11',(#637538333),#637538257,#637538282);
|
||||
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538335= NODE('12',(#637538337),#637538257,#637538282);
|
||||
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538339= NODE('13',(#637538341),#637538257,#637538282);
|
||||
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538343= NODE('14',(#637538345),#637538257,#637538282);
|
||||
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538347= NODE('15',(#637538349),#637538257,#637538282);
|
||||
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538351= NODE('16',(#637538353),#637538257,#637538282);
|
||||
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538355= NODE('17',(#637538357),#637538257,#637538282);
|
||||
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538364= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538247,.U.);
|
||||
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538366);
|
||||
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538367,#637538282);
|
||||
#637538369= NAME_ATTRIBUTE('',#637538239);
|
||||
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
|
||||
#637538239));
|
||||
#637538371= GROUP('default-gpvv-type',$);
|
||||
#637538372= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
|
||||
(#637538240,#637538239,#637538241));
|
||||
#637538375= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
|
||||
#637538374));
|
||||
#637538378= ORGANIZATION($,'default-organization',$);
|
||||
#637538379= ORGANIZATION_ROLE('id context');
|
||||
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
|
||||
#637538374));
|
||||
#637538382= GROUP('id',$);
|
||||
#637538383= CLASSIFICATION_ROLE('',$);
|
||||
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538235);
|
||||
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
|
||||
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
|
||||
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
|
||||
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
|
||||
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538282,#637538249,#637538398);
|
||||
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
|
||||
#637538417,#637538422));
|
||||
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
|
||||
#637538409);
|
||||
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
|
||||
#637538404= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
|
||||
);
|
||||
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538411));
|
||||
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
|
||||
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538413);
|
||||
#637538413= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
|
||||
);
|
||||
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
|
||||
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
|
||||
#637538409);
|
||||
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
|
||||
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
|
||||
);
|
||||
#637538421= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
|
||||
#637538409);
|
||||
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
|
||||
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
|
||||
);
|
||||
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
|
||||
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
|
||||
#637538400);
|
||||
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
|
||||
);
|
||||
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538431);
|
||||
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
|
||||
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
|
||||
#637538458,#637538460),(#637538463,#637538470));
|
||||
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
|
||||
#637538451);
|
||||
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538449= EULER_ANGLES((0.,0.,0.));
|
||||
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
|
||||
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
|
||||
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
|
||||
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
|
||||
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
|
||||
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
|
||||
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
|
||||
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
|
||||
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
|
||||
#637538400);
|
||||
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
|
||||
);
|
||||
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538476);
|
||||
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
|
||||
#637538486,#637538488),(#637538491,#637538493));
|
||||
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
|
||||
#637538451);
|
||||
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538483= EULER_ANGLES((0.,0.,0.));
|
||||
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
|
||||
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
|
||||
#637538400);
|
||||
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
|
||||
);
|
||||
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538499);
|
||||
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
|
||||
#637538509,#637538511),(#637538514,#637538516));
|
||||
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
|
||||
#637538451);
|
||||
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538506= EULER_ANGLES((0.,0.,0.));
|
||||
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
|
||||
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
|
||||
#637538400);
|
||||
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
|
||||
);
|
||||
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538522);
|
||||
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
|
||||
#637538532,#637538534),(#637538537,#637538539));
|
||||
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
|
||||
#637538451);
|
||||
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538529= EULER_ANGLES((0.,0.,0.));
|
||||
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
|
||||
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
|
||||
#637538400);
|
||||
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
|
||||
);
|
||||
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538545);
|
||||
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
|
||||
#637538555,#637538557),(#637538560,#637538562));
|
||||
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
|
||||
#637538451);
|
||||
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538552= EULER_ANGLES((0.,0.,0.));
|
||||
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
|
||||
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
|
||||
#637538400);
|
||||
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
|
||||
);
|
||||
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538568);
|
||||
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
|
||||
#637538578,#637538580),(#637538583,#637538585));
|
||||
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
|
||||
#637538451);
|
||||
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538575= EULER_ANGLES((0.,0.,0.));
|
||||
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
|
||||
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
|
||||
#637538400);
|
||||
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
|
||||
);
|
||||
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538591);
|
||||
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
|
||||
#637538601,#637538603),(#637538606,#637538608));
|
||||
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
|
||||
#637538451);
|
||||
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538598= EULER_ANGLES((0.,0.,0.));
|
||||
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
|
||||
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
|
||||
#637538400);
|
||||
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
|
||||
);
|
||||
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538614);
|
||||
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
|
||||
#637538624,#637538626),(#637538629,#637538631));
|
||||
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
|
||||
#637538451);
|
||||
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538621= EULER_ANGLES((0.,0.,0.));
|
||||
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
|
||||
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
|
||||
#637538400);
|
||||
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
|
||||
);
|
||||
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538637);
|
||||
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
|
||||
#637538647,#637538649),(#637538652,#637538654));
|
||||
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
|
||||
#637538451);
|
||||
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538644= EULER_ANGLES((0.,0.,0.));
|
||||
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
|
||||
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
|
||||
#637538400);
|
||||
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
|
||||
);
|
||||
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538660);
|
||||
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
|
||||
#637538670,#637538672),(#637538675,#637538677));
|
||||
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
|
||||
#637538451);
|
||||
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538667= EULER_ANGLES((0.,0.,0.));
|
||||
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
|
||||
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
|
||||
#637538400);
|
||||
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
|
||||
);
|
||||
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538683);
|
||||
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
|
||||
#637538693,#637538695),(#637538698,#637538700));
|
||||
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
|
||||
#637538451);
|
||||
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538690= EULER_ANGLES((0.,0.,0.));
|
||||
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
|
||||
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
|
||||
#637538400);
|
||||
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
|
||||
);
|
||||
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538706);
|
||||
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
|
||||
#637538716,#637538718),(#637538721,#637538723));
|
||||
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
|
||||
#637538451);
|
||||
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538713= EULER_ANGLES((0.,0.,0.));
|
||||
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
|
||||
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
|
||||
#637538400);
|
||||
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
|
||||
);
|
||||
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538729);
|
||||
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
|
||||
#637538739,#637538741),(#637538744,#637538746));
|
||||
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
|
||||
#637538451);
|
||||
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538736= EULER_ANGLES((0.,0.,0.));
|
||||
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
|
||||
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
|
||||
#637538400);
|
||||
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
|
||||
);
|
||||
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538752);
|
||||
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
|
||||
#637538762,#637538764),(#637538767,#637538769));
|
||||
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
|
||||
#637538451);
|
||||
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538759= EULER_ANGLES((0.,0.,0.));
|
||||
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
|
||||
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
|
||||
#637538400);
|
||||
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
|
||||
);
|
||||
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538775);
|
||||
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
|
||||
#637538785,#637538787),(#637538790,#637538792));
|
||||
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
|
||||
#637538451);
|
||||
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538782= EULER_ANGLES((0.,0.,0.));
|
||||
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
|
||||
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
|
||||
#637538400);
|
||||
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
|
||||
);
|
||||
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538798);
|
||||
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
|
||||
#637538808,#637538810),(#637538813,#637538815));
|
||||
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
|
||||
#637538451);
|
||||
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538805= EULER_ANGLES((0.,0.,0.));
|
||||
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
|
||||
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
|
||||
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
|
||||
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
|
||||
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'ENDDATA 07CFC18D'),('NASTRAN'));
|
||||
#637538824= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
|
||||
'STATIC STEP 1',1,#637538825,'',#637538826);
|
||||
#637538825= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538826= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538827);
|
||||
#637538827= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538828= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538824));
|
||||
#637538830= NODAL_FREEDOM_VALUES(#637538828,#637538831,#637538284,
|
||||
#637538833,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538831= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
|
||||
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
|
||||
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
|
||||
#637538347,#637538351,#637538355));
|
||||
#637538833= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538836= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538824),
|
||||
#637538253,#637538284,(#637538839,#637538840,#637538841,#637538842,
|
||||
#637538843,#637538844),'');
|
||||
#637538839= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538845= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538846,#637538836
|
||||
,#637538847,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538846= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538847= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538850= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538851= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538827,
|
||||
#637538850);
|
||||
#637538852= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538850,#637538846);
|
||||
#637538853= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538855= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538827,#637538853);
|
||||
#637538856= STATE_COMPONENT('OverallComp','',#637538853,1.);
|
||||
#637538858= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_4 is related to OverallComp','',#637538856,#637538859);
|
||||
#637538859= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
|
||||
'Item Factor State');
|
||||
#637538860= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_3 is related to OverallComp','',#637538856,#637538861);
|
||||
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
|
||||
'Item Factor State');
|
||||
#637538862= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538856,#637538863);
|
||||
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538864= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538865= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538866,#637538864);
|
||||
#637538866= STATE_COMPONENT('ItemComp_2_1','',#637538863,1.);
|
||||
#637538868= NODAL_FREEDOM_ACTION_DEFINITION(#637538864,#637538355,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538869= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538872= SPECIFIED_STATE('LOADSTATECORE_3',
|
||||
'Core Loads Specified State');
|
||||
#637538873= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538874,#637538872);
|
||||
#637538874= STATE_COMPONENT('ItemComp_2_3','',#637538861,1.);
|
||||
#637538876= NODAL_FREEDOM_ACTION_DEFINITION(#637538872,#637538331,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538878= SPECIFIED_STATE('LOADSTATECORE_4',
|
||||
'Core Loads Specified State');
|
||||
#637538879= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538880,#637538878);
|
||||
#637538880= STATE_COMPONENT('ItemComp_2_4','',#637538859,1.);
|
||||
#637538882= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538351,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538347,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538343,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538339,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538878,#637538335,
|
||||
#637538284,#637538869,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538892= ID_ATTRIBUTE('ALL',#637538831);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
@@ -1,705 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Tue Jun 05 10:29:56 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Tue Jun 05 10:29:56 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-06-05T10:29:56',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b04 : 12 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538233= APPLICATION_CONTEXT('SimDM');
|
||||
#637538235= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538233,
|
||||
'life cycle stage');
|
||||
#637538237= PRODUCT_DEFINITION('default-id.0',$,#637538238,#637538242);
|
||||
#637538238= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538239);
|
||||
#637538239= PRODUCT('default-id.0','default-fea-part','',(#637538241));
|
||||
#637538241= PRODUCT_CONTEXT('design_context',#637538233,'design_context'
|
||||
);
|
||||
#637538242= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538243,'ANALYSIS-STAGE');
|
||||
#637538243= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538245= PRODUCT_DEFINITION_SHAPE('name',$,#637538237);
|
||||
#637538246= SHAPE_DEFINITION_REPRESENTATION(#637538245,#637538247);
|
||||
#637538247= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538249,#637538357),#637538255);
|
||||
#637538249= NODE_SET('node_set_name_1',(#637538251,#637538293,#637538297
|
||||
,#637538301,#637538305,#637538309,#637538313,#637538317,#637538321,
|
||||
#637538325,#637538329,#637538333,#637538337,#637538341,#637538345,
|
||||
#637538349,#637538353));
|
||||
#637538251= NODE('1',(#637538253),#637538255,#637538280);
|
||||
#637538253= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538255=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
|
||||
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538258= SI_ENERGY_UNIT((#637538260,#637538262,#637538264),*,$,
|
||||
.JOULE.);
|
||||
#637538260= DERIVED_UNIT_ELEMENT(#637538261,1.);
|
||||
#637538261= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,2.);
|
||||
#637538263= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,-2.);
|
||||
#637538265= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538266= SI_FORCE_UNIT((#637538260,#637538268,#637538264),*,$,
|
||||
.NEWTON.);
|
||||
#637538268= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538269= SI_FREQUENCY_UNIT((#637538271),*,$,.HERTZ.);
|
||||
#637538271= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538272= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538273= SI_POWER_UNIT((#637538260,#637538262,#637538275),*,$,.WATT.
|
||||
);
|
||||
#637538275= DERIVED_UNIT_ELEMENT(#637538265,-3.);
|
||||
#637538276= SI_PRESSURE_UNIT((#637538260,#637538278,#637538264),*,$,
|
||||
.PASCAL.);
|
||||
#637538278= DERIVED_UNIT_ELEMENT(#637538263,-1.);
|
||||
#637538279= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538280= FEA_MODEL_3D('Identification',(#637538282),#637538289,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538282= FEA_AXIS2_PLACEMENT_3D('0',#637538283,#637538285,#637538287,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538283= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538285= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538287= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538289=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538258,#637538266,#637538269,#637538263,#637538261,#637538272,
|
||||
#637538273,#637538276,#637538279,#637538265))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538293= NODE('2',(#637538295),#637538255,#637538280);
|
||||
#637538295= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538297= NODE('3',(#637538299),#637538255,#637538280);
|
||||
#637538299= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538301= NODE('4',(#637538303),#637538255,#637538280);
|
||||
#637538303= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538305= NODE('5',(#637538307),#637538255,#637538280);
|
||||
#637538307= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538309= NODE('6',(#637538311),#637538255,#637538280);
|
||||
#637538311= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538313= NODE('7',(#637538315),#637538255,#637538280);
|
||||
#637538315= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538317= NODE('8',(#637538319),#637538255,#637538280);
|
||||
#637538319= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538321= NODE('9',(#637538323),#637538255,#637538280);
|
||||
#637538323= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538325= NODE('10',(#637538327),#637538255,#637538280);
|
||||
#637538327= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538329= NODE('11',(#637538331),#637538255,#637538280);
|
||||
#637538331= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538333= NODE('12',(#637538335),#637538255,#637538280);
|
||||
#637538335= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538337= NODE('13',(#637538339),#637538255,#637538280);
|
||||
#637538339= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538341= NODE('14',(#637538343),#637538255,#637538280);
|
||||
#637538343= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538345= NODE('15',(#637538347),#637538255,#637538280);
|
||||
#637538347= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538349= NODE('16',(#637538351),#637538255,#637538280);
|
||||
#637538351= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538353= NODE('17',(#637538355),#637538255,#637538280);
|
||||
#637538355= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538357= FEA_AXIS2_PLACEMENT_3D('1',#637538358,#637538360,#637538362,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538358= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538360= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538362= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538364= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538245,.U.);
|
||||
#637538365= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538364);
|
||||
#637538366= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538365,#637538280);
|
||||
#637538367= NAME_ATTRIBUTE('',#637538237);
|
||||
#637538368= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538369,#637538370,(
|
||||
#637538237));
|
||||
#637538369= GROUP('default-gpvv-type',$);
|
||||
#637538370= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538372= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538373,
|
||||
(#637538238,#637538237,#637538239));
|
||||
#637538373= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538375= APPLIED_ORGANIZATION_ASSIGNMENT(#637538376,#637538377,(
|
||||
#637538372));
|
||||
#637538376= ORGANIZATION($,'default-organization',$);
|
||||
#637538377= ORGANIZATION_ROLE('id context');
|
||||
#637538379= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538380,#637538381,(
|
||||
#637538372));
|
||||
#637538380= GROUP('id',$);
|
||||
#637538381= CLASSIFICATION_ROLE('',$);
|
||||
#637538383= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538233);
|
||||
#637538384= DESCRIPTION_ATTRIBUTE('SimDM',#637538233);
|
||||
#637538385= ID_ATTRIBUTE('SimDM',#637538233);
|
||||
#637538386= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538387= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538239));
|
||||
#637538391= DESCRIPTION_ATTRIBUTE('',#637538243);
|
||||
#637538392= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538394= DUMMY_NODE('0',(#637538392),#637538289,#637538280);
|
||||
#637538396= ITEM_DEFINED_TRANSFORMATION('','',#637538282,#637538357);
|
||||
#637538397= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538280,#637538247,#637538396);
|
||||
#637538398= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538400,
|
||||
#637538415,#637538420));
|
||||
#637538400= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538401,#637538403,
|
||||
#637538407);
|
||||
#637538401= MATERIAL_PROPERTY('MAT1.1.0',$,#637538402);
|
||||
#637538402= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538403= REPRESENTATION('representation_id_2',(#637538405),#637538289
|
||||
);
|
||||
#637538405= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538407= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538409));
|
||||
#637538409= PROPERTY_DEFINITION_REPRESENTATION(#637538410,#637538412);
|
||||
#637538410= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538411);
|
||||
#637538411= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538412= REPRESENTATION('representation_id_1',(#637538414),#637538289
|
||||
);
|
||||
#637538414= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538279);
|
||||
#637538415= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538416,#637538417,
|
||||
#637538407);
|
||||
#637538416= MATERIAL_PROPERTY('MAT1.1.1',$,#637538402);
|
||||
#637538417= REPRESENTATION('representation_id_3',(#637538419),#637538289
|
||||
);
|
||||
#637538419= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538420= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538421,#637538422,
|
||||
#637538407);
|
||||
#637538421= MATERIAL_PROPERTY('MAT1.1.2',$,#637538402);
|
||||
#637538422= REPRESENTATION('representation_id_4',(#637538424),#637538289
|
||||
);
|
||||
#637538424= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538425= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538427,#637538431)
|
||||
,#637538433,(#637538349,#637538353),#637538280,#637538437,#637538443,
|
||||
#637538398);
|
||||
#637538427= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538428
|
||||
);
|
||||
#637538428= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538429);
|
||||
#637538429= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538431= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538433= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538437= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
|
||||
#637538443= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538445),(
|
||||
#637538456,#637538458),(#637538461,#637538468));
|
||||
#637538445= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538446,#637538447,
|
||||
#637538449);
|
||||
#637538446= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538447= EULER_ANGLES((0.,0.,0.));
|
||||
#637538449= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
|
||||
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
|
||||
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538456= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538458= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538461= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538463= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
|
||||
#637538464= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
|
||||
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
|
||||
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
|
||||
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
|
||||
#637538468= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538470= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538472,#637538431)
|
||||
,#637538433,(#637538345,#637538349),#637538280,#637538437,#637538477,
|
||||
#637538398);
|
||||
#637538472= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538473
|
||||
);
|
||||
#637538473= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538474);
|
||||
#637538474= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538477= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538479),(
|
||||
#637538484,#637538486),(#637538489,#637538491));
|
||||
#637538479= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538480,#637538481,
|
||||
#637538449);
|
||||
#637538480= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538481= EULER_ANGLES((0.,0.,0.));
|
||||
#637538484= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538486= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538489= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538491= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538493= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538495,#637538431)
|
||||
,#637538433,(#637538341,#637538345),#637538280,#637538437,#637538500,
|
||||
#637538398);
|
||||
#637538495= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538496
|
||||
);
|
||||
#637538496= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538497);
|
||||
#637538497= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538500= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538502),(
|
||||
#637538507,#637538509),(#637538512,#637538514));
|
||||
#637538502= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538503,#637538504,
|
||||
#637538449);
|
||||
#637538503= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538504= EULER_ANGLES((0.,0.,0.));
|
||||
#637538507= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538509= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538512= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538514= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538516= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538518,#637538431)
|
||||
,#637538433,(#637538337,#637538341),#637538280,#637538437,#637538523,
|
||||
#637538398);
|
||||
#637538518= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538519
|
||||
);
|
||||
#637538519= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538520);
|
||||
#637538520= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538523= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538525),(
|
||||
#637538530,#637538532),(#637538535,#637538537));
|
||||
#637538525= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538526,#637538527,
|
||||
#637538449);
|
||||
#637538526= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538527= EULER_ANGLES((0.,0.,0.));
|
||||
#637538530= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538532= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538535= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538537= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538539= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538541,#637538431)
|
||||
,#637538433,(#637538333,#637538337),#637538280,#637538437,#637538546,
|
||||
#637538398);
|
||||
#637538541= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538542
|
||||
);
|
||||
#637538542= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538543);
|
||||
#637538543= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538546= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538548),(
|
||||
#637538553,#637538555),(#637538558,#637538560));
|
||||
#637538548= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538549,#637538550,
|
||||
#637538449);
|
||||
#637538549= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538550= EULER_ANGLES((0.,0.,0.));
|
||||
#637538553= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538555= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538558= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538560= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538562= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538564,#637538431)
|
||||
,#637538433,(#637538329,#637538333),#637538280,#637538437,#637538569,
|
||||
#637538398);
|
||||
#637538564= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538565
|
||||
);
|
||||
#637538565= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538566);
|
||||
#637538566= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538569= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538571),(
|
||||
#637538576,#637538578),(#637538581,#637538583));
|
||||
#637538571= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538572,#637538573,
|
||||
#637538449);
|
||||
#637538572= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538573= EULER_ANGLES((0.,0.,0.));
|
||||
#637538576= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538578= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538581= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538583= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538585= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538587,#637538431)
|
||||
,#637538433,(#637538325,#637538329),#637538280,#637538437,#637538592,
|
||||
#637538398);
|
||||
#637538587= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538588
|
||||
);
|
||||
#637538588= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538589);
|
||||
#637538589= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538592= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538594),(
|
||||
#637538599,#637538601),(#637538604,#637538606));
|
||||
#637538594= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538595,#637538596,
|
||||
#637538449);
|
||||
#637538595= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538596= EULER_ANGLES((0.,0.,0.));
|
||||
#637538599= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538601= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538604= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538606= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538608= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538610,#637538431),
|
||||
#637538433,(#637538321,#637538325),#637538280,#637538437,#637538615,
|
||||
#637538398);
|
||||
#637538610= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538611
|
||||
);
|
||||
#637538611= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538612);
|
||||
#637538612= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538615= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538617),(
|
||||
#637538622,#637538624),(#637538627,#637538629));
|
||||
#637538617= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538618,#637538619,
|
||||
#637538449);
|
||||
#637538618= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538619= EULER_ANGLES((0.,0.,0.));
|
||||
#637538622= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538624= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538627= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538629= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538631= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538633,#637538431),
|
||||
#637538433,(#637538317,#637538321),#637538280,#637538437,#637538638,
|
||||
#637538398);
|
||||
#637538633= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538634
|
||||
);
|
||||
#637538634= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538635);
|
||||
#637538635= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538638= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538640),(
|
||||
#637538645,#637538647),(#637538650,#637538652));
|
||||
#637538640= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538641,#637538642,
|
||||
#637538449);
|
||||
#637538641= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538642= EULER_ANGLES((0.,0.,0.));
|
||||
#637538645= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538647= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538650= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538652= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538654= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538656,#637538431),
|
||||
#637538433,(#637538313,#637538317),#637538280,#637538437,#637538661,
|
||||
#637538398);
|
||||
#637538656= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538657
|
||||
);
|
||||
#637538657= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538658);
|
||||
#637538658= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538661= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538663),(
|
||||
#637538668,#637538670),(#637538673,#637538675));
|
||||
#637538663= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538664,#637538665,
|
||||
#637538449);
|
||||
#637538664= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538665= EULER_ANGLES((0.,0.,0.));
|
||||
#637538668= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538670= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538673= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538675= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538677= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538679,#637538431),
|
||||
#637538433,(#637538309,#637538313),#637538280,#637538437,#637538684,
|
||||
#637538398);
|
||||
#637538679= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538680
|
||||
);
|
||||
#637538680= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538681);
|
||||
#637538681= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538684= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538686),(
|
||||
#637538691,#637538693),(#637538696,#637538698));
|
||||
#637538686= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538687,#637538688,
|
||||
#637538449);
|
||||
#637538687= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538688= EULER_ANGLES((0.,0.,0.));
|
||||
#637538691= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538693= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538696= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538698= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538700= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538702,#637538431),
|
||||
#637538433,(#637538305,#637538309),#637538280,#637538437,#637538707,
|
||||
#637538398);
|
||||
#637538702= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538703
|
||||
);
|
||||
#637538703= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538704);
|
||||
#637538704= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538707= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538709),(
|
||||
#637538714,#637538716),(#637538719,#637538721));
|
||||
#637538709= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538710,#637538711,
|
||||
#637538449);
|
||||
#637538710= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538711= EULER_ANGLES((0.,0.,0.));
|
||||
#637538714= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538716= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538719= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538721= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538723= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538725,#637538431),
|
||||
#637538433,(#637538301,#637538305),#637538280,#637538437,#637538730,
|
||||
#637538398);
|
||||
#637538725= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538726
|
||||
);
|
||||
#637538726= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538727);
|
||||
#637538727= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538730= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538732),(
|
||||
#637538737,#637538739),(#637538742,#637538744));
|
||||
#637538732= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538733,#637538734,
|
||||
#637538449);
|
||||
#637538733= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538734= EULER_ANGLES((0.,0.,0.));
|
||||
#637538737= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538739= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538742= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538744= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538746= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538748,#637538431),
|
||||
#637538433,(#637538297,#637538301),#637538280,#637538437,#637538753,
|
||||
#637538398);
|
||||
#637538748= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538749
|
||||
);
|
||||
#637538749= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538750);
|
||||
#637538750= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538753= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538755),(
|
||||
#637538760,#637538762),(#637538765,#637538767));
|
||||
#637538755= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538756,#637538757,
|
||||
#637538449);
|
||||
#637538756= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538757= EULER_ANGLES((0.,0.,0.));
|
||||
#637538760= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538762= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538765= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538767= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538769= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538771,#637538431),
|
||||
#637538433,(#637538293,#637538297),#637538280,#637538437,#637538776,
|
||||
#637538398);
|
||||
#637538771= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538772
|
||||
);
|
||||
#637538772= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538773);
|
||||
#637538773= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538776= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538778),(
|
||||
#637538783,#637538785),(#637538788,#637538790));
|
||||
#637538778= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538779,#637538780,
|
||||
#637538449);
|
||||
#637538779= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538780= EULER_ANGLES((0.,0.,0.));
|
||||
#637538783= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538785= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538788= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538790= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538792= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538794,#637538431),
|
||||
#637538433,(#637538251,#637538293),#637538280,#637538437,#637538799,
|
||||
#637538398);
|
||||
#637538794= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538795
|
||||
);
|
||||
#637538795= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538796);
|
||||
#637538796= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538799= CURVE_3D_ELEMENT_PROPERTY('PBAR.1','',(#637538801),(
|
||||
#637538806,#637538808),(#637538811,#637538813));
|
||||
#637538801= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538802,#637538803,
|
||||
#637538449);
|
||||
#637538802= CURVE_ELEMENT_LOCATION(#637538431);
|
||||
#637538803= EULER_ANGLES((0.,0.,0.));
|
||||
#637538806= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538808= CURVE_ELEMENT_END_OFFSET(#637538282,(0.,0.,0.));
|
||||
#637538811= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538813= CURVE_ELEMENT_END_RELEASE(#637538282,(#637538463,#637538464,
|
||||
#637538465,#637538466,#637538467));
|
||||
#637538815= ID_ATTRIBUTE('MAT1.1',#637538410);
|
||||
#637538816= DESCRIPTION_ATTRIBUTE('Elasticity',#637538400);
|
||||
#637538817= DESCRIPTION_ATTRIBUTE('MassDensity',#637538415);
|
||||
#637538818= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538420);
|
||||
#637538819= CONTROL(#637538280,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
|
||||
#637538822= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
|
||||
'STATIC STEP 2',2,#637538823,'',#637538824);
|
||||
#637538823= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538824= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
|
||||
,'',#637538825);
|
||||
#637538825= SPECIFIED_STATE('Step 2 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538826= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
|
||||
#637538822));
|
||||
#637538828= NODAL_FREEDOM_VALUES(#637538826,#637538829,#637538282,
|
||||
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538829= NODE_GROUP('','ALL',#637538280,(#637538251,#637538293,
|
||||
#637538297,#637538301,#637538305,#637538309,#637538313,#637538317,
|
||||
#637538321,#637538325,#637538329,#637538333,#637538337,#637538341,
|
||||
#637538345,#637538349,#637538353));
|
||||
#637538831= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538834= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538836,
|
||||
#637538822),#637538251,#637538282,(#637538840,#637538841,#637538842,
|
||||
#637538843,#637538844,#637538845),'');
|
||||
#637538836= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538819,
|
||||
'STATIC STEP 1',1,#637538823,'',#637538837);
|
||||
#637538837= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538838);
|
||||
#637538838= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538840= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538841= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538842= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538843= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538844= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538845= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538846= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538847,#637538834
|
||||
,#637538848,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538847= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538848= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538851= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538852= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538838,
|
||||
#637538851);
|
||||
#637538853= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538851,#637538847);
|
||||
#637538854= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538856= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
|
||||
#637538825,#637538854);
|
||||
#637538857= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538838,#637538854);
|
||||
#637538858= STATE_COMPONENT('OverallComp','',#637538854,1.);
|
||||
#637538860= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_4 is related to OverallComp','',#637538858,#637538861);
|
||||
#637538861= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
|
||||
'Item Factor State');
|
||||
#637538862= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_3 is related to OverallComp','',#637538858,#637538863);
|
||||
#637538863= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
|
||||
'Item Factor State');
|
||||
#637538864= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538858,#637538865);
|
||||
#637538865= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538866= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538867= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538868,#637538866);
|
||||
#637538868= STATE_COMPONENT('ItemComp_2_1','',#637538865,1.);
|
||||
#637538870= NODAL_FREEDOM_ACTION_DEFINITION(#637538866,#637538353,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538871= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538874= SPECIFIED_STATE('LOADSTATECORE_3',
|
||||
'Core Loads Specified State');
|
||||
#637538875= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538876,#637538874);
|
||||
#637538876= STATE_COMPONENT('ItemComp_2_3','',#637538863,1.);
|
||||
#637538878= NODAL_FREEDOM_ACTION_DEFINITION(#637538874,#637538329,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538880= SPECIFIED_STATE('LOADSTATECORE_4',
|
||||
'Core Loads Specified State');
|
||||
#637538881= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538882,#637538880);
|
||||
#637538882= STATE_COMPONENT('ItemComp_2_4','',#637538861,1.);
|
||||
#637538884= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538349,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538886= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538345,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538888= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538341,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538890= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538337,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538892= NODAL_FREEDOM_ACTION_DEFINITION(#637538880,#637538333,
|
||||
#637538282,#637538871,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538894= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538836));
|
||||
#637538896= NODAL_FREEDOM_VALUES(#637538894,#637538829,#637538282,
|
||||
#637538831,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538898= ID_ATTRIBUTE('ALL',#637538829);
|
||||
#637538899= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
|
||||
#637538900= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538825,
|
||||
#637538899);
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
@@ -1,851 +0,0 @@
|
||||
ISO-10303-21;
|
||||
HEADER;
|
||||
|
||||
/******************************************************************************************
|
||||
* STEP Physical File produced by: The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012
|
||||
* Module: EDMstepFileFactory/EDMstandAlone
|
||||
* Creation date: Mon Jul 09 13:15:29 2012
|
||||
* Host: AER4WA926171Z
|
||||
* Database: C:\Documents and Settings\johnsjc2\Desktop\AP209\SimDM2010\DevCM\db\d
|
||||
* Database version: 5207
|
||||
* Database creation date: Wed Apr 18 15:33:55 2012
|
||||
* Schema: AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF
|
||||
* Model: DataRepository.FemTest
|
||||
* Model creation date: Mon Jul 09 13:15:29 2012
|
||||
* Header model:
|
||||
* EDMuser: superuser
|
||||
* EDMgroup:
|
||||
* License ID and type: 5565 : Project license. Expiry date: 31 Dec 2012
|
||||
* EDMstepFileFactory options: 010000000
|
||||
******************************************************************************************/
|
||||
|
||||
FILE_DESCRIPTION((''),'2;1');
|
||||
FILE_NAME(
|
||||
'C:\\Documents and Settings\\johnsjc2\\Desktop\\AP209\\SimDM2010\\DevCM\\db\\d.DataRepository.FemTest'
|
||||
|
||||
,
|
||||
'2012-07-09T13:15:29',
|
||||
('ANONYMOUS USER'),
|
||||
('ANONYMOUS ORGANISATION'),
|
||||
'The EXPRESS Data Manager Version 5.01.0100.b03 SimDM : 25 Apr 2012',
|
||||
'',
|
||||
'');
|
||||
FILE_SCHEMA(('AP209_MULTIDISCIPLINARY_ANALYSIS_AND_DESIGN_MIM_LF'));
|
||||
ENDSEC;
|
||||
|
||||
DATA;
|
||||
#637538235= APPLICATION_CONTEXT('SimDM');
|
||||
#637538237= PRODUCT_DEFINITION_CONTEXT('assembly definition',#637538235,
|
||||
'life cycle stage');
|
||||
#637538239= PRODUCT_DEFINITION('default-id.0',$,#637538240,#637538244);
|
||||
#637538240= PRODUCT_DEFINITION_FORMATION('default-id.0','',#637538241);
|
||||
#637538241= PRODUCT('default-id.0','default-fea-part','',(#637538243));
|
||||
#637538243= PRODUCT_CONTEXT('design_context',#637538235,'design_context'
|
||||
);
|
||||
#637538244= PRODUCT_DEFINITION_CONTEXT(
|
||||
'product_definition_context_name_1',#637538245,'ANALYSIS-STAGE');
|
||||
#637538245= APPLICATION_CONTEXT('FEA-ANALYSIS-DOMAIN');
|
||||
#637538247= PRODUCT_DEFINITION_SHAPE('name',$,#637538239);
|
||||
#637538248= SHAPE_DEFINITION_REPRESENTATION(#637538247,#637538249);
|
||||
#637538249= POINT_REPRESENTATION('point_representation_name_1',(
|
||||
#637538251,#637538359),#637538257);
|
||||
#637538251= NODE_SET('node_set_name_1',(#637538253,#637538295,#637538299
|
||||
,#637538303,#637538307,#637538311,#637538315,#637538319,#637538323,
|
||||
#637538327,#637538331,#637538335,#637538339,#637538343,#637538347,
|
||||
#637538351,#637538355));
|
||||
#637538253= NODE('1',(#637538255),#637538257,#637538282);
|
||||
#637538255= CARTESIAN_POINT('1',(0.,-2.,1.));
|
||||
#637538257=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'CORD2R.1','3d'));
|
||||
#637538260= SI_ENERGY_UNIT((#637538262,#637538264,#637538266),*,$,
|
||||
.JOULE.);
|
||||
#637538262= DERIVED_UNIT_ELEMENT(#637538263,1.);
|
||||
#637538263= /* MASS_UNIT+SI_UNIT */(MASS_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
.KILO.,.GRAM.));
|
||||
#637538264= DERIVED_UNIT_ELEMENT(#637538265,2.);
|
||||
#637538265= /* LENGTH_UNIT+SI_UNIT */(LENGTH_UNIT()NAMED_UNIT(*)SI_UNIT(
|
||||
$,.METRE.));
|
||||
#637538266= DERIVED_UNIT_ELEMENT(#637538267,-2.);
|
||||
#637538267= /* SI_UNIT+TIME_UNIT */(NAMED_UNIT(*)SI_UNIT($,.SECOND.)
|
||||
TIME_UNIT());
|
||||
#637538268= SI_FORCE_UNIT((#637538262,#637538270,#637538266),*,$,
|
||||
.NEWTON.);
|
||||
#637538270= DERIVED_UNIT_ELEMENT(#637538265,1.);
|
||||
#637538271= SI_FREQUENCY_UNIT((#637538273),*,$,.HERTZ.);
|
||||
#637538273= DERIVED_UNIT_ELEMENT(#637538267,-1.);
|
||||
#637538274= /* PLANE_ANGLE_UNIT+SI_UNIT */(NAMED_UNIT(*)PLANE_ANGLE_UNIT
|
||||
()SI_UNIT($,.RADIAN.));
|
||||
#637538275= SI_POWER_UNIT((#637538262,#637538264,#637538277),*,$,.WATT.
|
||||
);
|
||||
#637538277= DERIVED_UNIT_ELEMENT(#637538267,-3.);
|
||||
#637538278= SI_PRESSURE_UNIT((#637538262,#637538280,#637538266),*,$,
|
||||
.PASCAL.);
|
||||
#637538280= DERIVED_UNIT_ELEMENT(#637538265,-1.);
|
||||
#637538281= /* SI_UNIT+THERMODYNAMIC_TEMPERATURE_UNIT */(NAMED_UNIT(*)
|
||||
SI_UNIT($,.DEGREE_CELSIUS.)THERMODYNAMIC_TEMPERATURE_UNIT());
|
||||
#637538282= FEA_MODEL_3D('Identification',(#637538284),#637538291,
|
||||
'NASTRAN BDF Converter v0.0.0',('NASTRAN'),'AnalysisModelType');
|
||||
#637538284= FEA_AXIS2_PLACEMENT_3D('0',#637538285,#637538287,#637538289,
|
||||
.CARTESIAN.,'FEA_BASIC_COORD_SYSTEM.0');
|
||||
#637538285= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538287= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538289= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538291=
|
||||
/* GEOMETRIC_REPRESENTATION_CONTEXT+GLOBAL_UNIT_ASSIGNED_CONTEXT */(
|
||||
GEOMETRIC_REPRESENTATION_CONTEXT(3)GLOBAL_UNIT_ASSIGNED_CONTEXT((
|
||||
#637538260,#637538268,#637538271,#637538265,#637538263,#637538274,
|
||||
#637538275,#637538278,#637538281,#637538267))REPRESENTATION_CONTEXT(
|
||||
'FEA_BASIC_COORD_SYSTEM.0','3d'));
|
||||
#637538295= NODE('2',(#637538297),#637538257,#637538282);
|
||||
#637538297= CARTESIAN_POINT('2',(1.,-2.,1.));
|
||||
#637538299= NODE('3',(#637538301),#637538257,#637538282);
|
||||
#637538301= CARTESIAN_POINT('3',(2.,-2.,1.));
|
||||
#637538303= NODE('4',(#637538305),#637538257,#637538282);
|
||||
#637538305= CARTESIAN_POINT('4',(3.,-2.,1.));
|
||||
#637538307= NODE('5',(#637538309),#637538257,#637538282);
|
||||
#637538309= CARTESIAN_POINT('5',(4.,-2.,1.));
|
||||
#637538311= NODE('6',(#637538313),#637538257,#637538282);
|
||||
#637538313= CARTESIAN_POINT('6',(5.,-2.,1.));
|
||||
#637538315= NODE('7',(#637538317),#637538257,#637538282);
|
||||
#637538317= CARTESIAN_POINT('7',(6.,-2.,1.));
|
||||
#637538319= NODE('8',(#637538321),#637538257,#637538282);
|
||||
#637538321= CARTESIAN_POINT('8',(7.,-2.,1.));
|
||||
#637538323= NODE('9',(#637538325),#637538257,#637538282);
|
||||
#637538325= CARTESIAN_POINT('9',(8.,-2.,1.));
|
||||
#637538327= NODE('10',(#637538329),#637538257,#637538282);
|
||||
#637538329= CARTESIAN_POINT('10',(9.,-2.,1.));
|
||||
#637538331= NODE('11',(#637538333),#637538257,#637538282);
|
||||
#637538333= CARTESIAN_POINT('11',(10.,-2.,1.));
|
||||
#637538335= NODE('12',(#637538337),#637538257,#637538282);
|
||||
#637538337= CARTESIAN_POINT('12',(11.,-2.,1.));
|
||||
#637538339= NODE('13',(#637538341),#637538257,#637538282);
|
||||
#637538341= CARTESIAN_POINT('13',(12.,-2.,1.));
|
||||
#637538343= NODE('14',(#637538345),#637538257,#637538282);
|
||||
#637538345= CARTESIAN_POINT('14',(13.,-2.,1.));
|
||||
#637538347= NODE('15',(#637538349),#637538257,#637538282);
|
||||
#637538349= CARTESIAN_POINT('15',(14.,-2.,1.));
|
||||
#637538351= NODE('16',(#637538353),#637538257,#637538282);
|
||||
#637538353= CARTESIAN_POINT('16',(15.,-2.,1.));
|
||||
#637538355= NODE('17',(#637538357),#637538257,#637538282);
|
||||
#637538357= CARTESIAN_POINT('17',(16.,-2.,1.));
|
||||
#637538359= FEA_AXIS2_PLACEMENT_3D('1',#637538360,#637538362,#637538364,
|
||||
.CARTESIAN.,'CORD2R.1');
|
||||
#637538360= CARTESIAN_POINT('',(0.,0.,0.));
|
||||
#637538362= DIRECTION('AxisZ',(0.,0.,1.));
|
||||
#637538364= DIRECTION('RefX',(1.,0.,0.));
|
||||
#637538366= FEA_MODEL_DEFINITION('fea_model_definition_id_1',$,
|
||||
#637538247,.U.);
|
||||
#637538367= STRUCTURAL_RESPONSE_PROPERTY(
|
||||
'structural_response_property_id_1',$,#637538366);
|
||||
#637538368= STRUCTURAL_RESPONSE_PROPERTY_DEFINITION_REPRESENTATION(
|
||||
#637538367,#637538282);
|
||||
#637538369= NAME_ATTRIBUTE('',#637538239);
|
||||
#637538370= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538371,#637538372,(
|
||||
#637538239));
|
||||
#637538371= GROUP('default-gpvv-type',$);
|
||||
#637538372= CLASSIFICATION_ROLE('view_type',$);
|
||||
#637538374= APPLIED_IDENTIFICATION_ASSIGNMENT('default-id.0',#637538375,
|
||||
(#637538240,#637538239,#637538241));
|
||||
#637538375= IDENTIFICATION_ROLE('default-role',$);
|
||||
#637538377= APPLIED_ORGANIZATION_ASSIGNMENT(#637538378,#637538379,(
|
||||
#637538374));
|
||||
#637538378= ORGANIZATION($,'default-organization',$);
|
||||
#637538379= ORGANIZATION_ROLE('id context');
|
||||
#637538381= APPLIED_CLASSIFICATION_ASSIGNMENT(#637538382,#637538383,(
|
||||
#637538374));
|
||||
#637538382= GROUP('id',$);
|
||||
#637538383= CLASSIFICATION_ROLE('',$);
|
||||
#637538385= APPLICATION_PROTOCOL_DEFINITION('status',
|
||||
'ap203_configuration_controlled_3d_design_of_mechanical_parts_and_assemblies'
|
||||
,2011,#637538235);
|
||||
#637538386= DESCRIPTION_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538387= ID_ATTRIBUTE('SimDM',#637538235);
|
||||
#637538388= DIMENSIONAL_EXPONENTS(0.,0.,0.,0.,0.,0.,0.);
|
||||
#637538389= PRODUCT_RELATED_PRODUCT_CATEGORY('document',$,());
|
||||
#637538391= PRODUCT_RELATED_PRODUCT_CATEGORY('product',$,(#637538241));
|
||||
#637538393= DESCRIPTION_ATTRIBUTE('',#637538245);
|
||||
#637538394= CARTESIAN_POINT('0',(0.,0.,0.));
|
||||
#637538396= DUMMY_NODE('0',(#637538394),#637538291,#637538282);
|
||||
#637538398= ITEM_DEFINED_TRANSFORMATION('','',#637538284,#637538359);
|
||||
#637538399= REPRESENTATION_RELATIONSHIP_WITH_TRANSFORMATION('','',
|
||||
#637538282,#637538249,#637538398);
|
||||
#637538400= ELEMENT_MATERIAL('MAT1.1','Fea Material',(#637538402,
|
||||
#637538417,#637538422));
|
||||
#637538402= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538403,#637538405,
|
||||
#637538409);
|
||||
#637538403= MATERIAL_PROPERTY('MAT1.1.0',$,#637538404);
|
||||
#637538404= CHARACTERIZED_OBJECT('material_property',$);
|
||||
#637538405= REPRESENTATION('representation_id_2',(#637538407),#637538291
|
||||
);
|
||||
#637538407= FEA_LINEAR_ELASTICITY('',FEA_ISOTROPIC_SYMMETRIC_TENSOR4_3D(
|
||||
(10000000.,0.33)));
|
||||
#637538409= DATA_ENVIRONMENT('DATA_ENV','Property_conditions',(
|
||||
#637538411));
|
||||
#637538411= PROPERTY_DEFINITION_REPRESENTATION(#637538412,#637538414);
|
||||
#637538412= PROPERTY_DEFINITION('Material Property Definition',$,
|
||||
#637538413);
|
||||
#637538413= CHARACTERIZED_OBJECT('property',$);
|
||||
#637538414= REPRESENTATION('representation_id_1',(#637538416),#637538291
|
||||
);
|
||||
#637538416= MEASURE_REPRESENTATION_ITEM('representation_item_name_1',
|
||||
CONTEXT_DEPENDENT_MEASURE(70.),#637538281);
|
||||
#637538417= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538418,#637538419,
|
||||
#637538409);
|
||||
#637538418= MATERIAL_PROPERTY('MAT1.1.1',$,#637538404);
|
||||
#637538419= REPRESENTATION('representation_id_3',(#637538421),#637538291
|
||||
);
|
||||
#637538421= FEA_MASS_DENSITY('',0.000254);
|
||||
#637538422= FEA_MATERIAL_PROPERTY_REPRESENTATION(#637538423,#637538424,
|
||||
#637538409);
|
||||
#637538423= MATERIAL_PROPERTY('MAT1.1.2',$,#637538404);
|
||||
#637538424= REPRESENTATION('representation_id_4',(#637538426),#637538291
|
||||
);
|
||||
#637538426= FEA_TANGENTIAL_COEFFICIENT_OF_LINEAR_THERMAL_EXPANSION('',
|
||||
ISOTROPIC_SYMMETRIC_TENSOR2_3D(0.));
|
||||
#637538427= CURVE_3D_ELEMENT_REPRESENTATION('16',(#637538429,#637538433)
|
||||
,#637538435,(#637538351,#637538355),#637538282,#637538439,#637538445,
|
||||
#637538400);
|
||||
#637538429= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538430
|
||||
);
|
||||
#637538430= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538431);
|
||||
#637538431= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538433= FEA_PARAMETRIC_POINT('',(1.,0.,0.));
|
||||
#637538435= PARAMETRIC_REPRESENTATION_CONTEXT(
|
||||
'parametric_representation_context','parametric');
|
||||
#637538439= CURVE_3D_ELEMENT_DESCRIPTOR(.LINEAR.,'LINEAR_CURVE.CBAR*',((
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.AXIAL.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Y_Y_BENDING.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.Z_Z_BENDING.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.TORSION.)),(
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Y_SHEAR.),
|
||||
ENUMERATED_CURVE_ELEMENT_PURPOSE(.X_Z_SHEAR.))));
|
||||
#637538445= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.16','',(#637538447),(
|
||||
#637538458,#637538460),(#637538463,#637538470));
|
||||
#637538447= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538448,#637538449,
|
||||
#637538451);
|
||||
#637538448= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538449= EULER_ANGLES((0.,0.,0.));
|
||||
#637538451= CURVE_ELEMENT_SECTION_DERIVED_DEFINITIONS('PBAR.1_0',0.,8.,(
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)),(2.667,
|
||||
10.667,0.),0.,CONTEXT_DEPENDENT_MEASURE(0.),(CONTEXT_DEPENDENT_MEASURE(
|
||||
0.),CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.)),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.));
|
||||
#637538458= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538460= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538463= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538465= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_TRANSLATION.),0.);
|
||||
#637538466= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Y_TRANSLATION.),0.);
|
||||
#637538467= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_TRANSLATION.),0.);
|
||||
#637538468= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.X_ROTATION.),0.);
|
||||
#637538469= CURVE_ELEMENT_END_RELEASE_PACKET(
|
||||
ENUMERATED_CURVE_ELEMENT_FREEDOM(.Z_ROTATION.),0.);
|
||||
#637538470= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538472= CURVE_3D_ELEMENT_REPRESENTATION('15',(#637538474,#637538433)
|
||||
,#637538435,(#637538347,#637538351),#637538282,#637538439,#637538479,
|
||||
#637538400);
|
||||
#637538474= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538475
|
||||
);
|
||||
#637538475= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538476);
|
||||
#637538476= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538479= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.15','',(#637538481),(
|
||||
#637538486,#637538488),(#637538491,#637538493));
|
||||
#637538481= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538482,#637538483,
|
||||
#637538451);
|
||||
#637538482= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538483= EULER_ANGLES((0.,0.,0.));
|
||||
#637538486= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538488= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538491= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538493= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538495= CURVE_3D_ELEMENT_REPRESENTATION('14',(#637538497,#637538433)
|
||||
,#637538435,(#637538343,#637538347),#637538282,#637538439,#637538502,
|
||||
#637538400);
|
||||
#637538497= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538498
|
||||
);
|
||||
#637538498= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538499);
|
||||
#637538499= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538502= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.14','',(#637538504),(
|
||||
#637538509,#637538511),(#637538514,#637538516));
|
||||
#637538504= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538505,#637538506,
|
||||
#637538451);
|
||||
#637538505= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538506= EULER_ANGLES((0.,0.,0.));
|
||||
#637538509= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538511= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538514= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538516= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538518= CURVE_3D_ELEMENT_REPRESENTATION('13',(#637538520,#637538433)
|
||||
,#637538435,(#637538339,#637538343),#637538282,#637538439,#637538525,
|
||||
#637538400);
|
||||
#637538520= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538521
|
||||
);
|
||||
#637538521= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538522);
|
||||
#637538522= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538525= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.13','',(#637538527),(
|
||||
#637538532,#637538534),(#637538537,#637538539));
|
||||
#637538527= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538528,#637538529,
|
||||
#637538451);
|
||||
#637538528= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538529= EULER_ANGLES((0.,0.,0.));
|
||||
#637538532= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538534= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538537= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538539= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538541= CURVE_3D_ELEMENT_REPRESENTATION('12',(#637538543,#637538433)
|
||||
,#637538435,(#637538335,#637538339),#637538282,#637538439,#637538548,
|
||||
#637538400);
|
||||
#637538543= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538544
|
||||
);
|
||||
#637538544= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538545);
|
||||
#637538545= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538548= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.12','',(#637538550),(
|
||||
#637538555,#637538557),(#637538560,#637538562));
|
||||
#637538550= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538551,#637538552,
|
||||
#637538451);
|
||||
#637538551= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538552= EULER_ANGLES((0.,0.,0.));
|
||||
#637538555= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538557= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538560= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538562= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538564= CURVE_3D_ELEMENT_REPRESENTATION('11',(#637538566,#637538433)
|
||||
,#637538435,(#637538331,#637538335),#637538282,#637538439,#637538571,
|
||||
#637538400);
|
||||
#637538566= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538567
|
||||
);
|
||||
#637538567= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538568);
|
||||
#637538568= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538571= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.11','',(#637538573),(
|
||||
#637538578,#637538580),(#637538583,#637538585));
|
||||
#637538573= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538574,#637538575,
|
||||
#637538451);
|
||||
#637538574= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538575= EULER_ANGLES((0.,0.,0.));
|
||||
#637538578= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538580= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538583= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538585= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538587= CURVE_3D_ELEMENT_REPRESENTATION('10',(#637538589,#637538433)
|
||||
,#637538435,(#637538327,#637538331),#637538282,#637538439,#637538594,
|
||||
#637538400);
|
||||
#637538589= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538590
|
||||
);
|
||||
#637538590= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538591);
|
||||
#637538591= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538594= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.10','',(#637538596),(
|
||||
#637538601,#637538603),(#637538606,#637538608));
|
||||
#637538596= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538597,#637538598,
|
||||
#637538451);
|
||||
#637538597= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538598= EULER_ANGLES((0.,0.,0.));
|
||||
#637538601= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538603= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538606= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538608= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538610= CURVE_3D_ELEMENT_REPRESENTATION('9',(#637538612,#637538433),
|
||||
#637538435,(#637538323,#637538327),#637538282,#637538439,#637538617,
|
||||
#637538400);
|
||||
#637538612= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538613
|
||||
);
|
||||
#637538613= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538614);
|
||||
#637538614= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538617= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.9','',(#637538619),(
|
||||
#637538624,#637538626),(#637538629,#637538631));
|
||||
#637538619= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538620,#637538621,
|
||||
#637538451);
|
||||
#637538620= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538621= EULER_ANGLES((0.,0.,0.));
|
||||
#637538624= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538626= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538629= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538631= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538633= CURVE_3D_ELEMENT_REPRESENTATION('8',(#637538635,#637538433),
|
||||
#637538435,(#637538319,#637538323),#637538282,#637538439,#637538640,
|
||||
#637538400);
|
||||
#637538635= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538636
|
||||
);
|
||||
#637538636= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538637);
|
||||
#637538637= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538640= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.8','',(#637538642),(
|
||||
#637538647,#637538649),(#637538652,#637538654));
|
||||
#637538642= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538643,#637538644,
|
||||
#637538451);
|
||||
#637538643= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538644= EULER_ANGLES((0.,0.,0.));
|
||||
#637538647= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538649= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538652= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538654= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538656= CURVE_3D_ELEMENT_REPRESENTATION('7',(#637538658,#637538433),
|
||||
#637538435,(#637538315,#637538319),#637538282,#637538439,#637538663,
|
||||
#637538400);
|
||||
#637538658= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538659
|
||||
);
|
||||
#637538659= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538660);
|
||||
#637538660= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538663= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.7','',(#637538665),(
|
||||
#637538670,#637538672),(#637538675,#637538677));
|
||||
#637538665= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538666,#637538667,
|
||||
#637538451);
|
||||
#637538666= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538667= EULER_ANGLES((0.,0.,0.));
|
||||
#637538670= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538672= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538675= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538677= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538679= CURVE_3D_ELEMENT_REPRESENTATION('6',(#637538681,#637538433),
|
||||
#637538435,(#637538311,#637538315),#637538282,#637538439,#637538686,
|
||||
#637538400);
|
||||
#637538681= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538682
|
||||
);
|
||||
#637538682= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538683);
|
||||
#637538683= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538686= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.6','',(#637538688),(
|
||||
#637538693,#637538695),(#637538698,#637538700));
|
||||
#637538688= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538689,#637538690,
|
||||
#637538451);
|
||||
#637538689= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538690= EULER_ANGLES((0.,0.,0.));
|
||||
#637538693= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538695= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538698= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538700= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538702= CURVE_3D_ELEMENT_REPRESENTATION('5',(#637538704,#637538433),
|
||||
#637538435,(#637538307,#637538311),#637538282,#637538439,#637538709,
|
||||
#637538400);
|
||||
#637538704= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538705
|
||||
);
|
||||
#637538705= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538706);
|
||||
#637538706= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538709= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.5','',(#637538711),(
|
||||
#637538716,#637538718),(#637538721,#637538723));
|
||||
#637538711= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538712,#637538713,
|
||||
#637538451);
|
||||
#637538712= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538713= EULER_ANGLES((0.,0.,0.));
|
||||
#637538716= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538718= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538721= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538723= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538725= CURVE_3D_ELEMENT_REPRESENTATION('4',(#637538727,#637538433),
|
||||
#637538435,(#637538303,#637538307),#637538282,#637538439,#637538732,
|
||||
#637538400);
|
||||
#637538727= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538728
|
||||
);
|
||||
#637538728= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538729);
|
||||
#637538729= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538732= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.4','',(#637538734),(
|
||||
#637538739,#637538741),(#637538744,#637538746));
|
||||
#637538734= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538735,#637538736,
|
||||
#637538451);
|
||||
#637538735= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538736= EULER_ANGLES((0.,0.,0.));
|
||||
#637538739= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538741= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538744= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538746= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538748= CURVE_3D_ELEMENT_REPRESENTATION('3',(#637538750,#637538433),
|
||||
#637538435,(#637538299,#637538303),#637538282,#637538439,#637538755,
|
||||
#637538400);
|
||||
#637538750= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538751
|
||||
);
|
||||
#637538751= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538752);
|
||||
#637538752= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538755= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.3','',(#637538757),(
|
||||
#637538762,#637538764),(#637538767,#637538769));
|
||||
#637538757= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538758,#637538759,
|
||||
#637538451);
|
||||
#637538758= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538759= EULER_ANGLES((0.,0.,0.));
|
||||
#637538762= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538764= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538767= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538769= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538771= CURVE_3D_ELEMENT_REPRESENTATION('2',(#637538773,#637538433),
|
||||
#637538435,(#637538295,#637538299),#637538282,#637538439,#637538778,
|
||||
#637538400);
|
||||
#637538773= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538774
|
||||
);
|
||||
#637538774= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538775);
|
||||
#637538775= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538778= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.2','',(#637538780),(
|
||||
#637538785,#637538787),(#637538790,#637538792));
|
||||
#637538780= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538781,#637538782,
|
||||
#637538451);
|
||||
#637538781= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538782= EULER_ANGLES((0.,0.,0.));
|
||||
#637538785= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538787= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538790= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538792= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538794= CURVE_3D_ELEMENT_REPRESENTATION('1',(#637538796,#637538433),
|
||||
#637538435,(#637538253,#637538295),#637538282,#637538439,#637538801,
|
||||
#637538400);
|
||||
#637538796= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_SYSTEM('',#637538797
|
||||
);
|
||||
#637538797= PARAMETRIC_CURVE_3D_ELEMENT_COORDINATE_DIRECTION('',
|
||||
#637538798);
|
||||
#637538798= DIRECTION('dxy',(0.,7.54979000000000E-8,1.));
|
||||
#637538801= CURVE_3D_ELEMENT_PROPERTY('PBAR.1.1','',(#637538803),(
|
||||
#637538808,#637538810),(#637538813,#637538815));
|
||||
#637538803= CURVE_ELEMENT_INTERVAL_CONSTANT(#637538804,#637538805,
|
||||
#637538451);
|
||||
#637538804= CURVE_ELEMENT_LOCATION(#637538433);
|
||||
#637538805= EULER_ANGLES((0.,0.,0.));
|
||||
#637538808= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538810= CURVE_ELEMENT_END_OFFSET(#637538284,(0.,0.,0.));
|
||||
#637538813= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538815= CURVE_ELEMENT_END_RELEASE(#637538284,(#637538465,#637538466,
|
||||
#637538467,#637538468,#637538469));
|
||||
#637538817= ID_ATTRIBUTE('MAT1.1',#637538412);
|
||||
#637538818= DESCRIPTION_ATTRIBUTE('Elasticity',#637538402);
|
||||
#637538819= DESCRIPTION_ATTRIBUTE('MassDensity',#637538417);
|
||||
#637538820= DESCRIPTION_ATTRIBUTE('TangentCTE',#637538422);
|
||||
#637538821= CONTROL(#637538282,'Control.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00',('<SOL>101</SOL>',
|
||||
'TIME 600','CEND','<GLOBALCASE>0</GLOBALCASE>','<SUBCASE>1</SUBCASE>',
|
||||
'<SUBCASE>2</SUBCASE>','ENDDATA'),('NASTRAN'));
|
||||
#637538824= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
|
||||
,#637538826);
|
||||
#637538825= RESULT('Result.0','FemConvert',
|
||||
'MSC.NASTRAN JOB CREATED ON 10-JUL-00 AT 06:54:00');
|
||||
#637538826= CALCULATED_STATE('Calculated State for Step 2','');
|
||||
#637538827= CONTROL_RESULT_RELATIONSHIP(#637538828,#637538824);
|
||||
#637538828= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
|
||||
'STATIC STEP 2',2,#637538829,'',#637538830);
|
||||
#637538829= SPECIFIED_STATE('STEP DEFAULT','default_initial_state');
|
||||
#637538830= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 2'
|
||||
,'',#637538831);
|
||||
#637538831= SPECIFIED_STATE('Step 2 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538832= RESULT_LINEAR_STATIC_ANALYSIS_SUB_STEP(#637538821,#637538825
|
||||
,#637538833);
|
||||
#637538833= CALCULATED_STATE('Calculated State for Step 1','');
|
||||
#637538834= CONTROL_RESULT_RELATIONSHIP(#637538835,#637538832);
|
||||
#637538835= CONTROL_LINEAR_STATIC_ANALYSIS_STEP(#637538821,
|
||||
'STATIC STEP 1',1,#637538829,'',#637538836);
|
||||
#637538836= CONTROL_LINEAR_STATIC_LOAD_INCREMENT_PROCESS('STATIC STEP 1'
|
||||
,'',#637538837);
|
||||
#637538837= SPECIFIED_STATE('Step 1 Base Specified State',
|
||||
'Relating Specified State');
|
||||
#637538838= SPECIFIED_STATE('SPCCASE_2_2_1','Aggregator SPC 2 Step 1');
|
||||
#637538839= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_1 is related to Step 1 Base Specified State','',#637538837,
|
||||
#637538838);
|
||||
#637538840= STATE_RELATIONSHIP(
|
||||
'SPCVALSTATE_1_2 is related to SPCCASE_2_2_1','',#637538838,#637538841);
|
||||
#637538841= SPECIFIED_STATE('SPCVALSTATE_1_2','');
|
||||
#637538842= SINGLE_POINT_CONSTRAINT_ELEMENT_VALUES(#637538841,#637538843
|
||||
,#637538852,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)
|
||||
,CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538843= SINGLE_POINT_CONSTRAINT_ELEMENT('SPC1_1.0',(#637538835,
|
||||
#637538828),#637538253,#637538284,(#637538846,#637538847,#637538848,
|
||||
#637538849,#637538850,#637538851),'');
|
||||
#637538846= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538847= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538848= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_TRANSLATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538849= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.X_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538850= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538851= FREEDOM_AND_COEFFICIENT(ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Z_ROTATION.),CONTEXT_DEPENDENT_MEASURE(1.));
|
||||
#637538852= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538855= LINEARLY_SUPERIMPOSED_STATE('LOADSTATECOMBINATION_2',
|
||||
'Overall Factor Combined State');
|
||||
#637538857= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 2 Base Specified State','',
|
||||
#637538831,#637538855);
|
||||
#637538858= STATE_RELATIONSHIP(
|
||||
'LOADSTATECOMBINATION_2 is related to Step 1 Base Specified State','',
|
||||
#637538837,#637538855);
|
||||
#637538859= STATE_COMPONENT('OverallComp','',#637538855,1.);
|
||||
#637538861= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_4 is related to OverallComp','',#637538859,#637538862);
|
||||
#637538862= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_4',
|
||||
'Item Factor State');
|
||||
#637538863= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_3 is related to OverallComp','',#637538859,#637538864);
|
||||
#637538864= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_3',
|
||||
'Item Factor State');
|
||||
#637538865= STATE_RELATIONSHIP(
|
||||
'LOADSTATEITEM_1 is related to OverallComp','',#637538859,#637538866);
|
||||
#637538866= LINEARLY_SUPERIMPOSED_STATE('LOADSTATEITEM_1',
|
||||
'Item Factor State');
|
||||
#637538867= SPECIFIED_STATE('LOADSTATECORE_1',
|
||||
'Core Loads Specified State');
|
||||
#637538868= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_1 is related to ItemComp_2_1','',#637538869,#637538867);
|
||||
#637538869= STATE_COMPONENT('ItemComp_2_1','',#637538866,1.);
|
||||
#637538871= NODAL_FREEDOM_ACTION_DEFINITION(#637538867,#637538355,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-1010.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538872= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.)));
|
||||
#637538875= SPECIFIED_STATE('LOADSTATECORE_3',
|
||||
'Core Loads Specified State');
|
||||
#637538876= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_3 is related to ItemComp_2_3','',#637538877,#637538875);
|
||||
#637538877= STATE_COMPONENT('ItemComp_2_3','',#637538864,1.);
|
||||
#637538879= NODAL_FREEDOM_ACTION_DEFINITION(#637538875,#637538331,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-10.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538881= SPECIFIED_STATE('LOADSTATECORE_4',
|
||||
'Core Loads Specified State');
|
||||
#637538882= STATE_RELATIONSHIP(
|
||||
'LOADSTATECORE_4 is related to ItemComp_2_4','',#637538883,#637538881);
|
||||
#637538883= STATE_COMPONENT('ItemComp_2_4','',#637538862,1.);
|
||||
#637538885= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538351,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538887= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538347,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538889= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538343,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538891= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538339,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538893= NODAL_FREEDOM_ACTION_DEFINITION(#637538881,#637538335,
|
||||
#637538284,#637538872,(CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(-20.),CONTEXT_DEPENDENT_MEASURE(0.)),
|
||||
.APPLIED_LOADS.);
|
||||
#637538895= OUTPUT_REQUEST_STATE('Step 1 Output Request State','',(
|
||||
#637538835));
|
||||
#637538897= NODAL_FREEDOM_VALUES(#637538895,#637538898,#637538284,
|
||||
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538898= NODE_GROUP('','ALL',#637538282,(#637538253,#637538295,
|
||||
#637538299,#637538303,#637538307,#637538311,#637538315,#637538319,
|
||||
#637538323,#637538327,#637538331,#637538335,#637538339,#637538343,
|
||||
#637538347,#637538351,#637538355));
|
||||
#637538900= FREEDOMS_LIST((ENUMERATED_DEGREE_OF_FREEDOM(.X_TRANSLATION.)
|
||||
,ENUMERATED_DEGREE_OF_FREEDOM(.Y_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.Z_TRANSLATION.),
|
||||
ENUMERATED_DEGREE_OF_FREEDOM(.X_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(
|
||||
.Y_ROTATION.),ENUMERATED_DEGREE_OF_FREEDOM(.Z_ROTATION.)));
|
||||
#637538903= ID_ATTRIBUTE('ALL',#637538898);
|
||||
#637538904= SPECIFIED_STATE('SPCCASE_2_2_2','Aggregator SPC 2 Step 2');
|
||||
#637538905= STATE_RELATIONSHIP(
|
||||
'SPCCASE_2_2_2 is related to Step 2 Base Specified State','',#637538831,
|
||||
#637538904);
|
||||
#637538906= OUTPUT_REQUEST_STATE('Step 2 Output Request State','',(
|
||||
#637538828));
|
||||
#637538908= NODAL_FREEDOM_VALUES(#637538906,#637538898,#637538284,
|
||||
#637538900,(UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.),UNSPECIFIED_VALUE(.UNSPECIFIED.),UNSPECIFIED_VALUE(
|
||||
.UNSPECIFIED.)));
|
||||
#637538910= NODAL_FREEDOM_VALUES(#637538833,#637538253,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538912= NODAL_FREEDOM_VALUES(#637538833,#637538295,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538914= NODAL_FREEDOM_VALUES(#637538833,#637538299,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538916= NODAL_FREEDOM_VALUES(#637538833,#637538303,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538918= NODAL_FREEDOM_VALUES(#637538833,#637538307,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538920= NODAL_FREEDOM_VALUES(#637538833,#637538311,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538922= NODAL_FREEDOM_VALUES(#637538833,#637538315,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538924= NODAL_FREEDOM_VALUES(#637538833,#637538319,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538926= NODAL_FREEDOM_VALUES(#637538833,#637538323,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538928= NODAL_FREEDOM_VALUES(#637538833,#637538327,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538930= NODAL_FREEDOM_VALUES(#637538833,#637538331,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538932= NODAL_FREEDOM_VALUES(#637538833,#637538335,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538934= NODAL_FREEDOM_VALUES(#637538833,#637538339,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538936= NODAL_FREEDOM_VALUES(#637538833,#637538343,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538938= NODAL_FREEDOM_VALUES(#637538833,#637538347,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538940= NODAL_FREEDOM_VALUES(#637538833,#637538351,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538942= NODAL_FREEDOM_VALUES(#637538833,#637538355,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538944= NODAL_FREEDOM_VALUES(#637538826,#637538253,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538946= NODAL_FREEDOM_VALUES(#637538826,#637538295,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538948= NODAL_FREEDOM_VALUES(#637538826,#637538299,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538950= NODAL_FREEDOM_VALUES(#637538826,#637538303,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538952= NODAL_FREEDOM_VALUES(#637538826,#637538307,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538954= NODAL_FREEDOM_VALUES(#637538826,#637538311,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538956= NODAL_FREEDOM_VALUES(#637538826,#637538315,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538958= NODAL_FREEDOM_VALUES(#637538826,#637538319,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538960= NODAL_FREEDOM_VALUES(#637538826,#637538323,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538962= NODAL_FREEDOM_VALUES(#637538826,#637538327,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538964= NODAL_FREEDOM_VALUES(#637538826,#637538331,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538966= NODAL_FREEDOM_VALUES(#637538826,#637538335,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538968= NODAL_FREEDOM_VALUES(#637538826,#637538339,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538970= NODAL_FREEDOM_VALUES(#637538826,#637538343,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538972= NODAL_FREEDOM_VALUES(#637538826,#637538347,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538974= NODAL_FREEDOM_VALUES(#637538826,#637538351,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
#637538976= NODAL_FREEDOM_VALUES(#637538826,#637538355,#637538284,
|
||||
#637538900,(CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.),
|
||||
CONTEXT_DEPENDENT_MEASURE(0.),CONTEXT_DEPENDENT_MEASURE(0.)));
|
||||
ENDSEC;
|
||||
|
||||
END-ISO-10303-21;
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+27396
-42823
File diff suppressed because it is too large
Load Diff
+21867
-23527
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+40543
-42198
File diff suppressed because it is too large
Load Diff
+2
-2
@@ -1,4 +1,4 @@
|
||||
SET(sc_MANS
|
||||
SET(scl_MANS
|
||||
man/man1/dataprobe.1
|
||||
man/man1/fedex.1
|
||||
man/man1/fedex_plus.1
|
||||
@@ -10,5 +10,5 @@ if(NOT DEFINED MAN_DIR)
|
||||
endif(NOT DEFINED MAN_DIR)
|
||||
|
||||
IF(NOT WIN32)
|
||||
INSTALL(FILES ${sc_MANS} DESTINATION ${MAN_DIR}/man1)
|
||||
INSTALL(FILES ${scl_MANS} DESTINATION ${CMAKE_INSTALL_PREFIX}/${MAN_DIR}/man1)
|
||||
ENDIF(NOT WIN32)
|
||||
|
||||
+1
-1
@@ -37,7 +37,7 @@ PROJECT_NUMBER = 3.2
|
||||
# for a project that appears at the top of each page and should give viewer
|
||||
# a quick idea about the purpose of the project. Keep the description short.
|
||||
|
||||
PROJECT_BRIEF = "STEPcode"
|
||||
PROJECT_BRIEF = "STEP Class Library"
|
||||
|
||||
# With the PROJECT_LOGO tag one can specify an logo or icon that is
|
||||
# included in the documentation. The maximum height of the logo should not
|
||||
|
||||
Binary file not shown.
Binary file not shown.
+2
-2
@@ -68,7 +68,7 @@
|
||||
<qtHelp collectionFile="./doc/helpcollection.qhc"
|
||||
projectFile="./doc/helpcollection.qhcp"
|
||||
storage="./doc/qch" copyAction="copy">
|
||||
<title>STEPcode</title>
|
||||
<title>StepClassLibrary</title>
|
||||
<startPage>qthelp://com.github.mpictor/doc/index.html</startPage>
|
||||
<!-- See http://doc.trolltech.com/assistant-custom-help-viewer.html for more
|
||||
settings in the <assistant> section. -->
|
||||
@@ -100,7 +100,7 @@
|
||||
-->
|
||||
<project>
|
||||
<!-- The name of the project -->
|
||||
<name>STEPcode</name>
|
||||
<name>StepClassLibrary</name>
|
||||
<!-- The version number of the documentation -->
|
||||
<version>0.2</version>
|
||||
<!-- Whether to build version specific documentation for the projects or not.
|
||||
|
||||
@@ -47,16 +47,16 @@ $mathjax
|
||||
<!-- add module list -->
|
||||
<div id="navrow0" class="tabs">
|
||||
<ul class="tablist">
|
||||
<li><a href="../../doc.STEPcode/doxygen-html/index.html"><span>Main</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.Express/doxygen-html/index.html"><span>Express</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
|
||||
<li><a href="../../doc.STEPcode.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary/doxygen-html/index.html"><span>Main</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.CLDAI/doxygen-html/index.html"><span>CLDAI</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.CLEditor/doxygen-html/index.html"><span>CLEditor</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.CLProbe-ui/doxygen-html/index.html"><span>CLProbe-ui</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.CLStepCore/doxygen-html/index.html"><span>CLStepCore</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.CLUtils/doxygen-html/index.html"><span>CLUtils</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.ExPPP/doxygen-html/index.html"><span>ExPPP</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.Express/doxygen-html/index.html"><span>Express</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.Fedex-Plus/doxygen-html/index.html"><span>Fedex-Plus</span></a></li>
|
||||
<li><a href="../../doc.StepClassLibrary.Tests/doxygen-html/index.html"><span>Tests</span></a></li>
|
||||
</ul>
|
||||
</div>
|
||||
<!-- end module list -->
|
||||
|
||||
@@ -2,8 +2,11 @@ SET(express_HDRS
|
||||
express/alg.h
|
||||
express/basic.h
|
||||
express/caseitem.h
|
||||
express/dict.h
|
||||
express/entity.h
|
||||
express/de_end.h
|
||||
express/decstart.h
|
||||
express/defstart.h
|
||||
express/dict.h
|
||||
express/entity.h
|
||||
express/error.h
|
||||
express/expbasic.h
|
||||
express/expr.h
|
||||
@@ -27,3 +30,7 @@ SET(exppp_HDRS
|
||||
exppp/exppp.h
|
||||
)
|
||||
install(FILES ${exppp_HDRS} DESTINATION include/exppp)
|
||||
|
||||
SET(SCL_noinst_HEADERS
|
||||
sclprefixes.h
|
||||
)
|
||||
|
||||
+48
-56
@@ -1,66 +1,58 @@
|
||||
#ifndef EXPPP_H
|
||||
#define EXPPP_H
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
|
||||
extern SC_EXPPP_EXPORT int exppp_nesting_indent; /* default nesting indent */
|
||||
extern SC_EXPPP_EXPORT int exppp_continuation_indent; /* default nesting indent for */
|
||||
extern SCL_EXPPP_EXPORT int exppp_nesting_indent; /* default nesting indent */
|
||||
extern SCL_EXPPP_EXPORT int exppp_continuation_indent; /* default nesting indent for */
|
||||
/* continuation lines */
|
||||
extern SC_EXPPP_EXPORT int exppp_linelength; /* leave some slop for closing */
|
||||
extern SCL_EXPPP_EXPORT int exppp_linelength; /* leave some slop for closing */
|
||||
/* parens. \n is not included in */
|
||||
/* this count either */
|
||||
extern SC_EXPPP_EXPORT bool exppp_rmpp; /* if true, create rmpp */
|
||||
extern SC_EXPPP_EXPORT bool exppp_alphabetize; /* if true, alphabetize */
|
||||
extern SC_EXPPP_EXPORT bool exppp_terse; /* don't describe action to stdout */
|
||||
extern SC_EXPPP_EXPORT bool exppp_reference_info; /* if true, add commentary */
|
||||
extern SCL_EXPPP_EXPORT bool exppp_rmpp; /* if true, create rmpp */
|
||||
extern SCL_EXPPP_EXPORT bool exppp_alphabetize; /* if true, alphabetize */
|
||||
extern SCL_EXPPP_EXPORT bool exppp_terse; /* don't describe action to stdout */
|
||||
extern SCL_EXPPP_EXPORT bool exppp_reference_info; /* if true, add commentary */
|
||||
/* about where things came from */
|
||||
extern SC_EXPPP_EXPORT bool exppp_preserve_comments; /* if true, preserve comments where */
|
||||
extern SCL_EXPPP_EXPORT bool exppp_preserve_comments; /* if true, preserve comments where */
|
||||
/* possible */
|
||||
extern SC_EXPPP_EXPORT char * exppp_output_filename; /* force output filename */
|
||||
extern SC_EXPPP_EXPORT bool exppp_output_filename_reset; /* if true, force output filename */
|
||||
extern SCL_EXPPP_EXPORT char * exppp_output_filename; /* force output filename */
|
||||
|
||||
SC_EXPPP_EXPORT void EXPRESSout( Express e );
|
||||
SCL_EXPPP_EXPORT void EXPRESSout( Express e );
|
||||
|
||||
SC_EXPPP_EXPORT void ENTITYout( Entity e );
|
||||
SC_EXPPP_EXPORT void EXPRout( Expression expr );
|
||||
SC_EXPPP_EXPORT void FUNCout( Function f );
|
||||
SC_EXPPP_EXPORT void PROCout( Procedure p );
|
||||
SC_EXPPP_EXPORT void RULEout( Rule r );
|
||||
SC_EXPPP_EXPORT char * SCHEMAout( Schema s );
|
||||
SC_EXPPP_EXPORT void SCHEMAref_out( Schema s );
|
||||
SC_EXPPP_EXPORT void STMTout( Statement s );
|
||||
SC_EXPPP_EXPORT void TYPEout( Type t );
|
||||
SC_EXPPP_EXPORT void TYPEhead_out( Type t );
|
||||
SC_EXPPP_EXPORT void TYPEbody_out( Type t );
|
||||
SC_EXPPP_EXPORT void WHEREout( Linked_List w );
|
||||
SCL_EXPPP_EXPORT void ENTITYout( Entity e );
|
||||
SCL_EXPPP_EXPORT void EXPRout( Expression expr );
|
||||
SCL_EXPPP_EXPORT void FUNCout( Function f );
|
||||
SCL_EXPPP_EXPORT void PROCout( Procedure p );
|
||||
SCL_EXPPP_EXPORT void RULEout( Rule r );
|
||||
SCL_EXPPP_EXPORT char * SCHEMAout( Schema s );
|
||||
SCL_EXPPP_EXPORT void SCHEMAref_out( Schema s );
|
||||
SCL_EXPPP_EXPORT void STMTout( Statement s );
|
||||
SCL_EXPPP_EXPORT void TYPEout( Type t );
|
||||
SCL_EXPPP_EXPORT void TYPEhead_out( Type t );
|
||||
SCL_EXPPP_EXPORT void TYPEbody_out( Type t );
|
||||
SCL_EXPPP_EXPORT void WHEREout( Linked_List w );
|
||||
|
||||
SC_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
|
||||
SC_EXPPP_EXPORT char * ENTITYto_string( Entity e );
|
||||
SC_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
|
||||
SC_EXPPP_EXPORT char * EXPRto_string( Expression expr );
|
||||
SC_EXPPP_EXPORT char * FUNCto_string( Function f );
|
||||
SC_EXPPP_EXPORT char * PROCto_string( Procedure p );
|
||||
SC_EXPPP_EXPORT char * RULEto_string( Rule r );
|
||||
SC_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
|
||||
SC_EXPPP_EXPORT char * STMTto_string( Statement s );
|
||||
SC_EXPPP_EXPORT char * TYPEto_string( Type t );
|
||||
SC_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
|
||||
SC_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
|
||||
SC_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
|
||||
SCL_EXPPP_EXPORT char * REFto_string( Dictionary refdict, Linked_List reflist, char * type, int level );
|
||||
SCL_EXPPP_EXPORT char * ENTITYto_string( Entity e );
|
||||
SCL_EXPPP_EXPORT char * SUBTYPEto_string( Expression e );
|
||||
SCL_EXPPP_EXPORT char * EXPRto_string( Expression expr );
|
||||
SCL_EXPPP_EXPORT char * FUNCto_string( Function f );
|
||||
SCL_EXPPP_EXPORT char * PROCto_string( Procedure p );
|
||||
SCL_EXPPP_EXPORT char * RULEto_string( Rule r );
|
||||
SCL_EXPPP_EXPORT char * SCHEMAref_to_string( Schema s );
|
||||
SCL_EXPPP_EXPORT char * STMTto_string( Statement s );
|
||||
SCL_EXPPP_EXPORT char * TYPEto_string( Type t );
|
||||
SCL_EXPPP_EXPORT char * TYPEhead_to_string( Type t );
|
||||
SCL_EXPPP_EXPORT char * TYPEbody_to_string( Type t );
|
||||
SCL_EXPPP_EXPORT char * WHEREto_string( Linked_List w );
|
||||
|
||||
SC_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
|
||||
SC_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
|
||||
|
||||
SC_EXPPP_EXPORT int EXPRlength( Expression e );
|
||||
SC_EXPPP_EXPORT int count_newlines( char * s );
|
||||
|
||||
#endif
|
||||
SCL_EXPPP_EXPORT int REFto_buffer( Dictionary refdict, Linked_List reflist, char * type, int level, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int ENTITYto_buffer( Entity e, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int EXPRto_buffer( Expression e, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int FUNCto_buffer( Function e, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int PROCto_buffer( Procedure e, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int RULEto_buffer( Rule e, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int SCHEMAref_to_buffer( Schema s, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int STMTto_buffer( Statement s, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int TYPEto_buffer( Type t, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int TYPEhead_to_buffer( Type t, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int TYPEbody_to_buffer( Type t, char * buffer, int length );
|
||||
SCL_EXPPP_EXPORT int WHEREto_buffer( Linked_List w, char * buffer, int length );
|
||||
|
||||
+25
-8
@@ -37,6 +37,10 @@
|
||||
*
|
||||
*/
|
||||
|
||||
/*************/
|
||||
/* constants */
|
||||
/*************/
|
||||
|
||||
/*****************/
|
||||
/* packages used */
|
||||
/*****************/
|
||||
@@ -55,6 +59,10 @@ typedef struct Scope_ * Function;
|
||||
typedef struct Scope_ * Rule;
|
||||
typedef struct Where_ * Where;
|
||||
|
||||
/****************/
|
||||
/* modules used */
|
||||
/****************/
|
||||
|
||||
/***************************/
|
||||
/* hidden type definitions */
|
||||
/***************************/
|
||||
@@ -109,11 +117,19 @@ struct Where_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head ALG_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head FUNC_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head RULE_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head PROC_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head WHERE_fl;
|
||||
#ifdef ALGORITHM_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* ALGORITHM_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALG_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head FUNC_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RULE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PROC_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head WHERE_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -161,8 +177,9 @@ extern SC_EXPRESS_EXPORT struct freelist_head WHERE_fl;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
|
||||
extern SC_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope ALGcreate PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGput_full_text PROTO( ( Scope, int, int ) );
|
||||
|
||||
|
||||
#endif /* ALGORITHM_H */
|
||||
|
||||
@@ -71,8 +71,8 @@
|
||||
*
|
||||
*/
|
||||
|
||||
#include <sc_cf.h>
|
||||
#include <sc_export.h>
|
||||
#include <scl_cf.h>
|
||||
#include <scl_export.h>
|
||||
#include <stdio.h>
|
||||
|
||||
/******************************/
|
||||
@@ -82,7 +82,7 @@
|
||||
#ifdef HAVE_STDBOOL_H
|
||||
# include <stdbool.h>
|
||||
#else
|
||||
# include <sc_stdbool.h>
|
||||
# include <scl_stdbool.h>
|
||||
#endif
|
||||
|
||||
/************************/
|
||||
|
||||
@@ -70,7 +70,15 @@ struct Case_Item_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
|
||||
#ifdef CASE_ITEM_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*CASE_ITEM_C*/
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -86,7 +94,7 @@ extern SC_EXPRESS_EXPORT struct freelist_head CASE_IT_fl;
|
||||
#define CASE_IT_new() (struct Case_Item_ *)MEM_new(&CASE_IT_fl)
|
||||
#define CASE_IT_destroy(x) MEM_destroy(&CASE_IT_fl,(Freelist *)(Generic)x)
|
||||
|
||||
extern SC_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
|
||||
extern SC_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Case_Item CASE_ITcreate PROTO( ( Linked_List, struct Statement_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT void CASE_ITinitialize PROTO( ( void ) );
|
||||
|
||||
#endif /*CASE_ITEM_H*/
|
||||
|
||||
+18
-10
@@ -72,7 +72,15 @@ typedef HashEntry DictionaryEntry;
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
|
||||
#ifdef DICTIONARY_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*DICTIONARY_C*/
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT lookup routines to type of object found */
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/*******************************/
|
||||
/* macro function definitions */
|
||||
@@ -97,14 +105,14 @@ extern SC_EXPRESS_EXPORT char DICT_type; /**< set as a side-effect of DICT look
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SC_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SC_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
|
||||
extern SC_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
|
||||
extern SC_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
|
||||
extern SC_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
|
||||
extern SC_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int DICTdefine PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT int DICT_define PROTO( ( Dictionary, char *, Generic, Symbol *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTundefine PROTO( ( Dictionary, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTlookup PROTO( ( Dictionary, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTlookup_symbol PROTO( ( Dictionary, char *, Symbol ** ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic DICTdo PROTO( ( DictionaryEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void DICTprint PROTO( ( Dictionary ) );
|
||||
|
||||
#endif /*DICTIONARY_H*/
|
||||
|
||||
+26
-17
@@ -60,7 +60,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "scope.h"
|
||||
@@ -102,8 +102,17 @@ struct Entity_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
|
||||
extern SC_EXPRESS_EXPORT int ENTITY_MARK;
|
||||
#ifdef ENTITY_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* ENTITY_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ENTITY_fl;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ENTITY_MARK INITIALLY( 0 );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -140,19 +149,19 @@ extern SC_EXPRESS_EXPORT int ENTITY_MARK;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
|
||||
extern SC_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
|
||||
extern SC_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
|
||||
extern SC_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
|
||||
extern SC_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
|
||||
extern SC_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SC_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
|
||||
extern SC_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SC_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
|
||||
extern SC_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
|
||||
extern SC_EXPRESS_EXPORT int ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcreate PROTO( ( struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYadd_attribute PROTO( ( struct Scope_ *, struct Variable_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * ENTITYcopy PROTO( ( struct Scope_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Entity ENTITYfind_inherited_entity PROTO( ( struct Scope_ *, char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYfind_inherited_attribute PROTO( ( struct Scope_ *, char *, struct Symbol_ ** ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYresolve_attr_ref PROTO( ( Entity, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYhas_immediate_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable ENTITYget_named_attribute PROTO( ( Entity, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List ENTITYget_all_attributes PROTO( ( Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYhas_supertype PROTO( ( Entity, Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT void ENTITYadd_instance PROTO( ( Entity, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT int ENTITYget_initial_offset PROTO( ( Entity ) );
|
||||
extern SCL_EXPRESS_EXPORT bool ENTITYdeclares_variable PROTO( ( Entity, struct Variable_ * ) );
|
||||
|
||||
#endif /* ENTITY_H */
|
||||
|
||||
+50
-34
@@ -28,7 +28,7 @@
|
||||
* prettied up interface to print_objects_when_running
|
||||
*/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "basic.h" /* get basic definitions */
|
||||
#include <setjmp.h>
|
||||
|
||||
@@ -81,29 +81,37 @@ typedef struct Error_Warning_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT bool __ERROR_buffer_errors;
|
||||
extern SC_EXPRESS_EXPORT char * current_filename;
|
||||
#ifdef ERROR_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* ERROR_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool __ERROR_buffer_errors INITIALLY( false );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * current_filename INITIALLY( "stdin" );
|
||||
|
||||
/* flag to remember whether non-warning errors have occurred */
|
||||
extern SC_EXPRESS_EXPORT bool ERRORoccurred;
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool ERRORoccurred INITIALLY( false );
|
||||
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error experrc;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_subordinate_failed;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_syntax_expecting;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error experrc INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_subordinate_failed INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax_expecting INITIALLY( ERROR_none );
|
||||
|
||||
/* all of these are 1 if true, 0 if false switches */
|
||||
/* for debugging fedex */
|
||||
extern SC_EXPRESS_EXPORT int ERRORdebugging;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ERRORdebugging INITIALLY( 0 );
|
||||
/* for debugging malloc during resolution */
|
||||
extern SC_EXPRESS_EXPORT int malloc_debug_resolve;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int malloc_debug_resolve INITIALLY( 0 );
|
||||
/* for debugging yacc/lex */
|
||||
extern SC_EXPRESS_EXPORT int debug;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int debug INITIALLY( 0 );
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Linked_List_ * ERRORwarnings;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ERROR_OPT_fl;
|
||||
|
||||
extern SC_EXPRESS_EXPORT void ( *ERRORusage_function )( void );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *ERRORusage_function ) PROTO( ( void ) );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -117,14 +125,16 @@ extern SC_EXPRESS_EXPORT void ( *ERRORusage_function )( void );
|
||||
/***********************/
|
||||
|
||||
#if defined(__MSVC__) || defined(__BORLAND__)
|
||||
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
/********************/
|
||||
/* Inline functions */
|
||||
/********************/
|
||||
|
||||
#if supports_inline_functions || defined(ERROR_C)
|
||||
|
||||
static_inline void ERRORdisable( Error error ) {
|
||||
if( error != ERROR_none ) {
|
||||
error->enabled = false;
|
||||
@@ -166,32 +176,38 @@ static_inline void ERRORflush_messages( void ) {
|
||||
}
|
||||
}
|
||||
|
||||
#endif /*supports_inline_functions || defined(ERROR_C)*/
|
||||
|
||||
/***********************/
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
|
||||
extern SC_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORinitialize_after_LIST PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORnospace PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORabort PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT Error ERRORcreate PROTO( ( char *, Severity ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport PROTO( ( Error, ... ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORdestroy PROTO( ( Error ) );
|
||||
|
||||
struct Symbol_; /* mention Symbol to avoid warning on following line */
|
||||
extern SC_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
|
||||
|
||||
#if !defined(__MSVC__) && !defined(__BORLAND__)
|
||||
extern SC_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport_with_symbol PROTO( ( Error, struct Symbol_ *, ... ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORreport_with_line PROTO( ( Error, int, ... ) );
|
||||
#if !supports_inline_functions
|
||||
extern SCL_EXPRESS_EXPORT void ERRORbuffer_messages PROTO( ( bool ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORflush_messages PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
extern SC_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
|
||||
extern SC_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
|
||||
#if !defined(__MSVC__) && !defined(__BORLAND__)
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_start_message_buffer PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERROR_flush_message_buffer PROTO( ( void ) );
|
||||
#endif
|
||||
|
||||
extern SCL_EXPRESS_EXPORT void ERRORcreate_warning PROTO( ( char *, Error ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORset_warning PROTO( ( char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORset_all_warnings PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORsafe PROTO( ( jmp_buf env ) );
|
||||
extern SCL_EXPRESS_EXPORT void ERRORunsafe PROTO( ( void ) );
|
||||
|
||||
#endif /* ERROR_H */
|
||||
|
||||
@@ -1,3 +1,4 @@
|
||||
|
||||
/*
|
||||
* This software was developed by U.S. Government employees as part of
|
||||
* their official duties and is not subject to copyright.
|
||||
@@ -126,8 +127,8 @@ typedef char * Binary;
|
||||
#define OBJ_EXPRESSION 'x' /**< so far only enums get looked up by name & */
|
||||
#define OBJ_ENUM 'x' /**< appear this way, perhaps they should be variables? */
|
||||
#define OBJ_AMBIG_ENUM 'z' /**< enumerations of the same name which are
|
||||
* visible in the same scope when qualified
|
||||
* z is of no mnemonic significance (so far) */
|
||||
* visible in the same scope when qualified
|
||||
* z is of no mnemonic significance (so far) */
|
||||
#define IS_ENUM(x) (((x) == OBJ_ENUM) || ((x) == OBJ_AMBIG_ENUM))
|
||||
|
||||
/** these represent a different way of selecting classes of objects
|
||||
|
||||
+55
-27
@@ -1,7 +1,7 @@
|
||||
#ifndef EXPRESSION_H
|
||||
#define EXPRESSION_H
|
||||
|
||||
/*********************************************************************//**
|
||||
/** **********************************************************************
|
||||
** Module: Expression \file expr.h
|
||||
** Description: This module implements the Expression abstraction.
|
||||
** Several types of expressions are supported: identifiers,
|
||||
@@ -60,7 +60,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include <math.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
|
||||
@@ -185,23 +185,31 @@ struct EXPop_entry {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
|
||||
#ifdef EXPRESSION_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*EXPRESSION_C*/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Expression LITERAL_E;
|
||||
extern SC_EXPRESS_EXPORT Expression LITERAL_INFINITY;
|
||||
extern SC_EXPRESS_EXPORT Expression LITERAL_PI;
|
||||
extern SC_EXPRESS_EXPORT Expression LITERAL_ZERO;
|
||||
extern SC_EXPRESS_EXPORT Expression LITERAL_ONE;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct EXPop_entry EXPop_table[OP_LAST];
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_bad_qualification;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_integer_expression_expected;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_implicit_downcast;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_E INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_INFINITY INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_PI INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ZERO INITIALLY( EXPRESSION_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Expression LITERAL_ONE;
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head EXP_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head OP_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head QUERY_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_qualification INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_integer_expression_expected INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_implicit_downcast INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambig_implicit_downcast INITIALLY( ERROR_none );
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head EXP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head OP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUERY_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -254,16 +262,36 @@ extern SC_EXPRESS_EXPORT struct freelist_head QUAL_ATTR_fl;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
|
||||
extern SC_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
|
||||
extern SC_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
|
||||
extern SC_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
|
||||
extern SC_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
|
||||
extern SC_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
|
||||
extern SC_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
|
||||
extern SC_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate_simple PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression EXPcreate_from_symbol PROTO( ( Type, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression UN_EXPcreate PROTO( ( Op_Code, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression BIN_EXPcreate PROTO( ( Op_Code, Expression, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression TERN_EXPcreate PROTO( ( Op_Code, Expression, Expression, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Expression QUERYcreate PROTO( ( Symbol *, Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Type EXPtype PROTO( ( Expression, struct Scope_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPget_integer_value PROTO( ( Expression ) );
|
||||
|
||||
/********************/
|
||||
/* inline functions */
|
||||
/********************/
|
||||
|
||||
#if supports_inline_functions || defined(EXPRESSION_C)
|
||||
|
||||
static_inline
|
||||
int
|
||||
OPget_number_of_operands( Op_Code op ) {
|
||||
if( ( op == OP_NEGATE ) || ( op == OP_NOT ) ) {
|
||||
return 1;
|
||||
} else if( op == OP_SUBCOMPONENT ) {
|
||||
return 3;
|
||||
} else {
|
||||
return 2;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* supports_inline_functions || defined(EXPRESSION_C) */
|
||||
|
||||
#endif /*EXPRESSION_H*/
|
||||
|
||||
+168
-150
@@ -88,151 +88,169 @@ struct Express_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Linked_List EXPRESS_path;
|
||||
extern SC_EXPRESS_EXPORT int EXPRESSpass;
|
||||
#ifdef EXPRESS_C
|
||||
# define GLOBAL
|
||||
# define INITIALLY(value) = value
|
||||
#else
|
||||
# define GLOBAL extern
|
||||
# define INITIALLY(value)
|
||||
#endif /*EXPRESS_C*/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) );
|
||||
extern SC_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT char * EXPRESSprogram_name;
|
||||
extern char EXPRESSgetopt_options[]; /* initialized elsewhere */
|
||||
extern SC_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) );
|
||||
extern SC_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas;
|
||||
#ifdef YYDEBUG
|
||||
extern SCL_EXPRESS_EXPORT int yydebug;
|
||||
extern SCL_EXPRESS_EXPORT int yydbg_upper_limit;
|
||||
extern SCL_EXPRESS_EXPORT int yydbg_lower_limit;
|
||||
extern SCL_EXPRESS_EXPORT int yydbg_verbose;
|
||||
#endif
|
||||
|
||||
extern SC_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /* procedures/functions */
|
||||
GLOBAL SCL_EXPRESS_EXPORT Linked_List EXPRESS_path;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int EXPRESSpass;
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_bail_out;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_syntax;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unlabelled_param_type;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_file_unreadable;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_file_unwriteable;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_args ) PROTO( ( int, char ** ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSinit_parse ) PROTO( ( void ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSfail ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSsucceed ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT void ( *EXPRESSbackend ) PROTO( ( Express ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * EXPRESSprogram_name;
|
||||
extern char EXPRESSgetopt_options[256]; /**< initialized elsewhere */
|
||||
GLOBAL SCL_EXPRESS_EXPORT int ( *EXPRESSgetopt ) PROTO( ( int, char * ) ) INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT bool EXPRESSignore_duplicate_schemas INITIALLY( false );
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
|
||||
extern SC_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Dictionary EXPRESSbuiltins; /**< procedures/functions */
|
||||
|
||||
extern SC_EXPRESS_EXPORT char * KW_ABS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ABSTRACT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ACOS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_AGGREGATE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ALIAS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_AND;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ANDOR;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ARRAY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_AS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ASIN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ATAN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BAG;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BEGIN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BINARY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BLENGTH;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BOOLEAN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_BY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_CASE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_CONST_E;
|
||||
extern SC_EXPRESS_EXPORT char * KW_CONSTANT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_CONTEXT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_COS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_DERIVE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_DIV;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ELSE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_ALIAS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_CASE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_CONSTANT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_CONTEXT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_ENTITY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_FUNCTION;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_IF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_LOCAL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_MODEL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_PROCEDURE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_REPEAT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_RULE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_SCHEMA;
|
||||
extern SC_EXPRESS_EXPORT char * KW_END_TYPE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ENTITY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ENUMERATION;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ESCAPE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_EXISTS;
|
||||
extern SC_EXPRESS_EXPORT char * KW_EXP;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FALSE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FIXED;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FOR;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FORMAT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FROM;
|
||||
extern SC_EXPRESS_EXPORT char * KW_FUNCTION;
|
||||
extern SC_EXPRESS_EXPORT char * KW_GENERIC;
|
||||
extern SC_EXPRESS_EXPORT char * KW_HIBOUND;
|
||||
extern SC_EXPRESS_EXPORT char * KW_HIINDEX;
|
||||
extern SC_EXPRESS_EXPORT char * KW_IF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_IN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_INCLUDE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_INSERT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_INTEGER;
|
||||
extern SC_EXPRESS_EXPORT char * KW_INVERSE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LENGTH;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LIKE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LIST;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOBOUND;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOCAL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOG;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOG10;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOG2;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOGICAL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_LOINDEX;
|
||||
extern SC_EXPRESS_EXPORT char * KW_MOD;
|
||||
extern SC_EXPRESS_EXPORT char * KW_MODEL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_NOT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_NUMBER;
|
||||
extern SC_EXPRESS_EXPORT char * KW_NVL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ODD;
|
||||
extern SC_EXPRESS_EXPORT char * KW_OF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ONEOF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_OPTIONAL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_OR;
|
||||
extern SC_EXPRESS_EXPORT char * KW_OTHERWISE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_PI;
|
||||
extern SC_EXPRESS_EXPORT char * KW_PROCEDURE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_QUERY;
|
||||
extern SC_EXPRESS_EXPORT char * KW_REAL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_REFERENCE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_REMOVE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_REPEAT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_RETURN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_ROLESOF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_RULE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SCHEMA;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SELECT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SELF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SET;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SIN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SIZEOF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SKIP;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SQRT;
|
||||
extern SC_EXPRESS_EXPORT char * KW_STRING;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SUBTYPE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_SUPERTYPE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_TAN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_THEN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_TO;
|
||||
extern SC_EXPRESS_EXPORT char * KW_TRUE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_TYPE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_TYPEOF;
|
||||
extern SC_EXPRESS_EXPORT char * KW_UNIQUE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_UNKNOWN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_UNTIL;
|
||||
extern SC_EXPRESS_EXPORT char * KW_USE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_USEDIN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_VALUE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_VALUE_IN;
|
||||
extern SC_EXPRESS_EXPORT char * KW_VALUE_UNIQUE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_VAR;
|
||||
extern SC_EXPRESS_EXPORT char * KW_WHERE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_WHILE;
|
||||
extern SC_EXPRESS_EXPORT char * KW_XOR;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bail_out INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_syntax INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unlabelled_param_type INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unreadable;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_file_unwriteable;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_warn_unsupported_lang_feat;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_NVL;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Scope_ * FUNC_USEDIN;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABS INITIALLY( "ABS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ABSTRACT INITIALLY( "ABSTRACT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ACOS INITIALLY( "ACOS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AGGREGATE INITIALLY( "AGGREGATE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ALIAS INITIALLY( "ALIAS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AND INITIALLY( "AND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ANDOR INITIALLY( "ANDOR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ARRAY INITIALLY( "ARRAY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_AS INITIALLY( "AS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ASIN INITIALLY( "ASIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ATAN INITIALLY( "ATAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BAG INITIALLY( "BAG" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BEGIN INITIALLY( "BEGIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BINARY INITIALLY( "BINARY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BLENGTH INITIALLY( "BLENGTH" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BOOLEAN INITIALLY( "BOOLEAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_BY INITIALLY( "BY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CASE INITIALLY( "CASE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONST_E INITIALLY( "CONST_E" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONSTANT INITIALLY( "CONSTANT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_CONTEXT INITIALLY( "CONTEXT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_COS INITIALLY( "COS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_DERIVE INITIALLY( "DERIVE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_DIV INITIALLY( "DIV" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ELSE INITIALLY( "ELSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END INITIALLY( "END" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ALIAS INITIALLY( "END_ALIAS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CASE INITIALLY( "END_CASE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONSTANT INITIALLY( "END_CONSTANT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_CONTEXT INITIALLY( "END_CONTEXT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_ENTITY INITIALLY( "END_ENTITY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_FUNCTION INITIALLY( "END_FUNCTION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_IF INITIALLY( "END_IF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_LOCAL INITIALLY( "END_LOCAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_MODEL INITIALLY( "END_MODEL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_PROCEDURE INITIALLY( "END_PROCEDURE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_REPEAT INITIALLY( "END_REPEAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_RULE INITIALLY( "END_RULE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_SCHEMA INITIALLY( "END_SCHEMA" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_END_TYPE INITIALLY( "END_TYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENTITY INITIALLY( "ENTITY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ENUMERATION INITIALLY( "ENUMERATION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ESCAPE INITIALLY( "ESCAPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXISTS INITIALLY( "EXISTS" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_EXP INITIALLY( "EXP" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FALSE INITIALLY( "FALSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FIXED INITIALLY( "FIXED" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FOR INITIALLY( "FOR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FORMAT INITIALLY( "FORMAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FROM INITIALLY( "FROM" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_FUNCTION INITIALLY( "FUNCTION" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_GENERIC INITIALLY( "GENERIC" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIBOUND INITIALLY( "HIBOUND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_HIINDEX INITIALLY( "HIINDEX" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_IF INITIALLY( "IF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_IN INITIALLY( "IN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INCLUDE INITIALLY( "INCLUDE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INSERT INITIALLY( "INSERT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INTEGER INITIALLY( "INTEGER" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_INVERSE INITIALLY( "INVERSE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LENGTH INITIALLY( "LENGTH" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIKE INITIALLY( "LIKE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LIST INITIALLY( "LIST" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOBOUND INITIALLY( "LOBOUND" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOCAL INITIALLY( "LOCAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG INITIALLY( "LOG" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG10 INITIALLY( "LOG10" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOG2 INITIALLY( "LOG2" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOGICAL INITIALLY( "LOGICAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_LOINDEX INITIALLY( "LOINDEX" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_MOD INITIALLY( "MOD" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_MODEL INITIALLY( "MODEL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NOT INITIALLY( "NOT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NUMBER INITIALLY( "NUMBER" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_NVL INITIALLY( "NVL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ODD INITIALLY( "ODD" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OF INITIALLY( "OF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ONEOF INITIALLY( "ONEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OPTIONAL INITIALLY( "OPTIONAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OR INITIALLY( "OR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_OTHERWISE INITIALLY( "OTHERWISE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_PI INITIALLY( "PI" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_PROCEDURE INITIALLY( "PROCEDURE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_QUERY INITIALLY( "QUERY" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REAL INITIALLY( "REAL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REFERENCE INITIALLY( "REFERENCE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REMOVE INITIALLY( "REMOVE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_REPEAT INITIALLY( "REPEAT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_RETURN INITIALLY( "RETURN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_ROLESOF INITIALLY( "ROLESOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_RULE INITIALLY( "RULE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SCHEMA INITIALLY( "SCHEMA" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELECT INITIALLY( "SELECT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SELF INITIALLY( "SELF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SET INITIALLY( "SET" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIN INITIALLY( "SIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SIZEOF INITIALLY( "SIZEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SKIP INITIALLY( "SKIP" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SQRT INITIALLY( "SQRT" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_STRING INITIALLY( "STRING" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUBTYPE INITIALLY( "SUBTYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_SUPERTYPE INITIALLY( "SUPERTYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TAN INITIALLY( "TAN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_THEN INITIALLY( "THEN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TO INITIALLY( "TO" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TRUE INITIALLY( "TRUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPE INITIALLY( "TYPE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_TYPEOF INITIALLY( "TYPEOF" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNIQUE INITIALLY( "UNIQUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNKNOWN INITIALLY( "UNKNOWN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_UNTIL INITIALLY( "UNTIL" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_USE INITIALLY( "USE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_USEDIN INITIALLY( "USEDIN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE INITIALLY( "VALUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_IN INITIALLY( "VALUE_IN" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VALUE_UNIQUE INITIALLY( "VALUE_UNIQUE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_VAR INITIALLY( "VAR" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHERE INITIALLY( "WHERE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_WHILE INITIALLY( "WHILE" );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * KW_XOR INITIALLY( "XOR" );
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -247,16 +265,16 @@ extern SC_EXPRESS_EXPORT char * KW_XOR;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
|
||||
extern SC_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT Express EXPRESScreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSdestroy PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSparse PROTO( ( Express, FILE *, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESScleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXPRESSresolve PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT char * EXPRESSversion PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPRESS_fail PROTO( ( Express ) );
|
||||
extern SCL_EXPRESS_EXPORT int EXPRESS_succeed PROTO( ( Express ) );
|
||||
extern void EXPRESSinit_init PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void build_complex( Express );
|
||||
extern SCL_EXPRESS_EXPORT void build_complex( Express );
|
||||
|
||||
#endif /*EXPRESS_H*/
|
||||
|
||||
+27
-12
@@ -100,7 +100,11 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#ifdef HASH_C
|
||||
#include <assert.h>
|
||||
#endif /*HASH_C*/
|
||||
|
||||
#include "memory.h"
|
||||
|
||||
/************/
|
||||
@@ -131,7 +135,7 @@ typedef struct Hash_Table_ {
|
||||
#endif
|
||||
unsigned int p; /**< Next bucket to be split */
|
||||
unsigned int maxp; /**< upper bound on p during expansion */
|
||||
unsigned int KeyCount; /**< current # keys */
|
||||
long KeyCount; /**< current # keys */
|
||||
unsigned int SegmentCount; /**< current # segments */
|
||||
unsigned int MinLoadFactor;
|
||||
unsigned int MaxLoadFactor;
|
||||
@@ -156,8 +160,19 @@ typedef struct {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
|
||||
#ifdef HASH_C
|
||||
# define GLOBAL
|
||||
# define INITIALLY(value) = value
|
||||
#else
|
||||
# define GLOBAL extern
|
||||
# define INITIALLY(value)
|
||||
#endif /*HASH_C*/
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Table_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head HASH_Element_fl;
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -193,13 +208,13 @@ This change only seems to have affected hash.h and hash.c
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
|
||||
extern SC_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
|
||||
extern SC_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
|
||||
extern SC_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
|
||||
extern SC_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
|
||||
extern SC_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
|
||||
extern SC_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Hash_Table HASHcreate PROTO( ( unsigned ) );
|
||||
extern SCL_EXPRESS_EXPORT Hash_Table HASHcopy PROTO( ( Hash_Table ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHdestroy PROTO( ( Hash_Table ) );
|
||||
extern SCL_EXPRESS_EXPORT Element HASHsearch PROTO( ( Hash_Table, Element, Action ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHlistinit PROTO( ( Hash_Table, HashEntry * ) );
|
||||
extern SCL_EXPRESS_EXPORT void HASHlistinit_by_type PROTO( ( Hash_Table, HashEntry *, char ) );
|
||||
extern SCL_EXPRESS_EXPORT Element HASHlist PROTO( ( HashEntry * ) );
|
||||
|
||||
#endif /*HASH_H*/
|
||||
|
||||
+89
-30
@@ -38,7 +38,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include <ctype.h>
|
||||
#include "basic.h"
|
||||
#include "error.h"
|
||||
@@ -68,19 +68,31 @@ typedef struct Scan_Buffer {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
|
||||
extern SC_EXPRESS_EXPORT int SCAN_current_buffer;
|
||||
extern SC_EXPRESS_EXPORT char * SCANcurrent;
|
||||
#ifdef LEX_ACTIONS_C
|
||||
# define GLOBAL
|
||||
# define INITIALLY(value) = value
|
||||
#else
|
||||
# define GLOBAL extern
|
||||
# define INITIALLY(value)
|
||||
#endif /* LEX_ACTIONS_C */
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_include_file;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_close_comment;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unmatched_open_comment;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unterminated_string;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_bad_identifier;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unexpected_character;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_nonascii_char;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Scan_Buffer SCAN_buffers[SCAN_NESTING_DEPTH];
|
||||
GLOBAL SCL_EXPRESS_EXPORT int SCAN_current_buffer INITIALLY( 0 );
|
||||
GLOBAL SCL_EXPRESS_EXPORT char * SCANcurrent;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_include_file INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_close_comment INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unmatched_open_comment INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unterminated_string INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_digit INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_encoded_string_bad_count INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_bad_identifier INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unexpected_character INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_nonascii_char;
|
||||
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -99,24 +111,71 @@ extern SC_EXPRESS_EXPORT Error ERROR_nonascii_char;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_string PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( const char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT void SCANsave_comment PROTO( ( const char * ) );
|
||||
extern SC_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int yylex PROTO( ( void ) ); /* the scanner */
|
||||
|
||||
extern SCL_EXPRESS_EXPORT void SCANinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_real_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_integer_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_binary_literal PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_logical_literal PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_identifier_or_keyword PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_string PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_encoded_string PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT int SCANprocess_semicolon PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANsave_comment PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT bool SCANread PROTO( ( void ) );
|
||||
#if macros_bit_the_dust
|
||||
extern SC_EXPRESS_EXPORT void SCANdefine_macro PROTO( ( char *, char * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANdefine_macro PROTO( ( char *, char * ) );
|
||||
#endif
|
||||
extern SC_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
|
||||
SC_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
|
||||
SC_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
|
||||
extern SC_EXPRESS_EXPORT char * SCANstrdup PROTO( ( char * ) );
|
||||
extern SC_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCANinclude_file PROTO( ( char * ) );
|
||||
SCL_EXPRESS_EXPORT void SCANlowerize PROTO( ( char * ) );
|
||||
SCL_EXPRESS_EXPORT void SCANupperize PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT char * SCANstrdup PROTO( ( char * ) );
|
||||
extern SCL_EXPRESS_EXPORT long SCANtell PROTO( ( void ) );
|
||||
|
||||
/*******************************/
|
||||
/* inline function definitions */
|
||||
/*******************************/
|
||||
|
||||
#if supports_inline_functions || defined(LEX_ACTIONS_C)
|
||||
|
||||
static_inline
|
||||
int
|
||||
SCANnextchar( char * buffer ) {
|
||||
extern bool SCANread( void );
|
||||
#ifdef keep_nul
|
||||
static int escaped = 0;
|
||||
#endif
|
||||
|
||||
if( SCANtext_ready || SCANread() ) {
|
||||
#ifdef keep_nul
|
||||
if( !*SCANcurrent ) {
|
||||
buffer[0] = SCAN_ESCAPE;
|
||||
*SCANcurrent = '0';
|
||||
return 1;
|
||||
} else if( ( *SCANcurrent == SCAN_ESCAPE ) && !escaped ) {
|
||||
escaped = 1;
|
||||
buffer[0] = SCAN_ESCAPE;
|
||||
return 1;
|
||||
}
|
||||
SCANbuffer.numRead--;
|
||||
#endif
|
||||
buffer[0] = *( SCANcurrent++ );
|
||||
#ifdef __MSVC__
|
||||
if( !__isascii( buffer[0] ) ) {
|
||||
#else
|
||||
if( !isascii( buffer[0] ) ) {
|
||||
#endif
|
||||
ERRORreport_with_line( ERROR_nonascii_char, yylineno,
|
||||
0xff & buffer[0] );
|
||||
buffer[0] = ' '; /* substitute space */
|
||||
}
|
||||
return 1;
|
||||
} else {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
#endif /* supports_inline_functions || defined(LEX_ACTIONS_C) */
|
||||
|
||||
#endif /* LEX_ACTIONS_H */
|
||||
|
||||
+56
-21
@@ -36,7 +36,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "basic.h"
|
||||
#include "memory.h"
|
||||
|
||||
@@ -70,10 +70,18 @@ struct Linked_List_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_empty_list;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head LINK_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head LIST_fl;
|
||||
extern SC_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
|
||||
#ifdef LINKED_LIST_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*LINKED_LIST_C*/
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_empty_list INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LINK_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LIST_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ugh */
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -126,21 +134,48 @@ extern SC_EXPRESS_EXPORT Linked_List LINK__l; /* for LISTcreate_with macro - ug
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTremove PROTO( ( Linked_List, Link ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
|
||||
extern SC_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT bool LISTempty( Linked_List list );
|
||||
extern SCL_EXPRESS_EXPORT void LISTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void LISTcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List LISTcreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List LISTcopy PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_first PROTO( ( Linked_List, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_last PROTO( ( Linked_List, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_after PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTadd_before PROTO( ( Linked_List, Link, Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTremove_first PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTremove PROTO( ( Linked_List, Link ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_first PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_second PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic LISTget_nth PROTO( ( Linked_List, int ) );
|
||||
extern SCL_EXPRESS_EXPORT void LISTfree PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT int LISTget_length PROTO( ( Linked_List ) );
|
||||
|
||||
/*******************************/
|
||||
/* inline function definitions */
|
||||
/*******************************/
|
||||
|
||||
#if !defined(__BORLAND__)
|
||||
|
||||
#if supports_inline_functions || defined(LINKED_LIST_C)
|
||||
|
||||
static_inline
|
||||
bool
|
||||
LISTempty( Linked_List list ) {
|
||||
if( !list ) {
|
||||
return true;
|
||||
}
|
||||
if( list->mark->next == list->mark ) {
|
||||
return true;
|
||||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
#endif /* supports_inline_functions || defined(LINKED_LIST_C) */
|
||||
|
||||
#else
|
||||
|
||||
extern SCL_EXPRESS_EXPORT bool LISTempty( Linked_List list );
|
||||
|
||||
#endif
|
||||
|
||||
#endif /*LINKED_LIST_H*/
|
||||
|
||||
@@ -28,7 +28,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
|
||||
/** \file memory.h - defs for fixed size block memory allocator */
|
||||
|
||||
@@ -62,11 +62,18 @@ char * nnew();
|
||||
|
||||
#include "error.h"
|
||||
|
||||
/* should be MEMORY_C but there is none, so we'll tie it to express.c */
|
||||
#ifdef EXPRESS_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* EXPRESS_C */
|
||||
|
||||
/***********************************************/
|
||||
/* space allocation macros with error package: */
|
||||
/***********************************************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT int yylineno;
|
||||
extern int yylineno;
|
||||
|
||||
/** CALLOC grabs and initializes to all 0s space for the indicated
|
||||
* number of instances of the indicated type */
|
||||
@@ -75,10 +82,12 @@ extern SC_EXPRESS_EXPORT int yylineno;
|
||||
fprintf(stderr,"fedex: out of space");\
|
||||
} else {}
|
||||
|
||||
SC_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
|
||||
SC_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
|
||||
SC_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
|
||||
SC_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
|
||||
SCL_EXPRESS_EXPORT void _MEMinitialize PROTO( ( void ) );
|
||||
SCL_EXPRESS_EXPORT void MEMinitialize PROTO( ( struct freelist_head *, int, int, int ) );
|
||||
SCL_EXPRESS_EXPORT void MEM_destroy PROTO( ( struct freelist_head *, Freelist * ) );
|
||||
SCL_EXPRESS_EXPORT Generic MEM_new PROTO( ( struct freelist_head * ) );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
#endif /* MEMORY_H */
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "basic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
|
||||
@@ -81,7 +81,15 @@ struct Object {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct Object * OBJ;
|
||||
#ifdef OBJECT_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*OBJECT_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct Object * OBJ;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -93,13 +101,15 @@ extern SC_EXPRESS_EXPORT struct Object * OBJ;
|
||||
#define OBJtype_is_oneof(_type_,class) (OBJ[(int)_type_].bits & (class))
|
||||
#define OBJget_name(obj,type) (OBJget_symbol(obj,type)->name)
|
||||
|
||||
/* removed #define statements for obsolete fn macros OBJequal OBJfree OBJreference OBJget_data */
|
||||
|
||||
/***********************/
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
|
||||
extern SCL_EXPRESS_EXPORT void OBJinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void OBJcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void OBJcreate PROTO( ( char, struct Symbol_ * ( * )( Generic ), char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Symbol * UNK_get_symbol PROTO( ( Generic x ) );
|
||||
|
||||
#endif /*OBJECT_H*/
|
||||
|
||||
+38
-22
@@ -28,7 +28,7 @@
|
||||
* Initial revision
|
||||
*/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "type.h"
|
||||
#include "variable.h"
|
||||
@@ -45,20 +45,36 @@
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT int print_objects_while_running;
|
||||
#ifdef RESOLVE_C
|
||||
# define GLOBAL
|
||||
# define INITIALLY(value) = value
|
||||
#else
|
||||
# define GLOBAL extern
|
||||
# define INITIALLY(value)
|
||||
#endif /*RESOLVE_C*/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_undefined_attribute;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_undefined_type;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_undefined_schema;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unknown_subtype;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_unknown_supertype;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_circular_reference;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_attribute;
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_ambiguous_group;
|
||||
GLOBAL SCL_EXPRESS_EXPORT int print_objects_while_running INITIALLY( 0 );
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error WARNING_case_skip_label;
|
||||
extern SC_EXPRESS_EXPORT Error WARNING_fn_skip_branch;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_type INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_undefined_schema INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_attr_in_entity INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_subtype INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_unknown_supertype INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_circular_reference INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_attribute INITIALLY( ERROR_none );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_ambiguous_group INITIALLY( ERROR_none );
|
||||
|
||||
/** If we're inside a conditional statement (within a function, procedure, etc)
|
||||
* then this variable points to that statement. Currently the only use is to
|
||||
* suppress errors when the test in an IF...ENDIF always evaluates one way.
|
||||
* Set within STMTresolve().
|
||||
* \sa STMTresolve
|
||||
*/
|
||||
GLOBAL SCL_EXPRESS_EXPORT Statement currCondStmt INITIALLY(0);
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
||||
/* macros */
|
||||
|
||||
@@ -73,14 +89,14 @@ extern SC_EXPRESS_EXPORT Error WARNING_fn_skip_branch;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
|
||||
extern SC_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
|
||||
extern SC_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void RESOLVEinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void RESOLVEcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_expressions_statements PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_subsupers PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEresolve_types PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void TYPE_resolve PROTO( ( Type * ) );
|
||||
extern SCL_EXPRESS_EXPORT void EXP_resolve PROTO( ( Expression, Scope, Type ) );
|
||||
extern SCL_EXPRESS_EXPORT void ALGresolve PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAresolve PROTO( ( Scope ) );
|
||||
|
||||
#endif /*RESOLVE_H*/
|
||||
|
||||
+33
-21
@@ -50,7 +50,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "scope.h"
|
||||
@@ -88,7 +88,7 @@ struct Schema_ {
|
||||
Linked_List reflist;
|
||||
Linked_List uselist;
|
||||
/** \var refdict, usedict
|
||||
* dictionarys into which are entered renames for each specific
|
||||
* dictionarys into which are entered renames for each specific
|
||||
* object specified in a rename clause (even if it uses the same
|
||||
* name */
|
||||
Dictionary refdict;
|
||||
@@ -96,7 +96,7 @@ struct Schema_ {
|
||||
|
||||
Linked_List use_schemas; /**< lists of schemas that are fully use'd
|
||||
* entries can be 0 if schemas weren't found during RENAMEresolve */
|
||||
Linked_List ref_schemas; /**< lists of schemas that are fully ref'd
|
||||
Linked_List ref_schemas; /**< lists of schemas that are fully ref'd
|
||||
* entries can be 0 if schemas weren't found during RENAMEresolve */
|
||||
};
|
||||
|
||||
@@ -104,11 +104,22 @@ struct Schema_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head REN_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head SCOPE_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head SCHEMA_fl;
|
||||
#ifdef SCHEMA_C
|
||||
# define GLOBAL
|
||||
# define INITIALLY(value) = value
|
||||
#else
|
||||
# define GLOBAL extern
|
||||
# define INITIALLY(value)
|
||||
#endif /* SCHEMA_C */
|
||||
|
||||
extern SC_EXPRESS_EXPORT int __SCOPE_search_id;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head REN_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCOPE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SCHEMA_fl;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT int __SCOPE_search_id INITIALLY( 0 );
|
||||
|
||||
#undef GLOBAL
|
||||
#undef INITIALLY
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -133,20 +144,21 @@ extern SC_EXPRESS_EXPORT int __SCOPE_search_id;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Variable VARfind PROTO( ( Scope, char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT Schema SCHEMAcreate PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
|
||||
extern SC_EXPRESS_EXPORT void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
|
||||
extern SC_EXPRESS_EXPORT Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
|
||||
extern SC_EXPRESS_EXPORT Scope SCOPEcreate PROTO( ( char ) );
|
||||
extern SC_EXPRESS_EXPORT Scope SCOPEcreate_tiny PROTO( ( char ) );
|
||||
extern SC_EXPRESS_EXPORT Scope SCOPEcreate_nostab PROTO( ( char ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPEdestroy PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable VARfind PROTO( ( Scope, char *, int ) );
|
||||
extern SCL_EXPRESS_EXPORT Schema SCHEMAcreate PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAadd_use PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAadd_reference PROTO( ( Schema, Symbol *, Symbol *, Symbol * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_use PROTO( ( Schema, Rename * ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCHEMAdefine_reference PROTO( ( Schema, Rename * ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic SCHEMAfind PROTO( ( Schema, char * name, int search_refs ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_tiny PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT Scope SCOPEcreate_nostab PROTO( ( char ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPEdestroy PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_use PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCHEMAget_entities_ref PROTO( ( Scope ) );
|
||||
|
||||
#endif /* SCHEMA_H */
|
||||
|
||||
|
||||
|
||||
+18
-18
@@ -49,7 +49,7 @@
|
||||
/* modules used */
|
||||
/****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "type.h"
|
||||
#include "variable.h"
|
||||
#include "entity.h"
|
||||
@@ -82,7 +82,7 @@ struct Scope_ {
|
||||
char type; /* see above */
|
||||
ClientData clientData; /**< user may use this for any purpose */
|
||||
int search_id; /**< key to avoid searching this scope twice */
|
||||
Dictionary symbol_table, enum_table;
|
||||
Dictionary symbol_table,enum_table;
|
||||
struct Scope_ * superscope;
|
||||
union {
|
||||
struct Procedure_ * proc;
|
||||
@@ -99,6 +99,17 @@ struct Scope_ {
|
||||
Linked_List where; /**< optional where clause */
|
||||
};
|
||||
|
||||
/********************/
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
#ifdef SCOPE_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* SCOPE_C */
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
/******************************/
|
||||
@@ -121,27 +132,16 @@ struct Scope_ {
|
||||
#define SCOPEdo_entities(s,t,de) DICTdo_type_init(s->symbol_table,&de,OBJ_ENTITY); { \
|
||||
Entity t; \
|
||||
while (0 != (t = (Entity)DICTdo(&de))) {
|
||||
#define SCOPEdo_functions(s,t,de) DICTdo_type_init(s->symbol_table,&de,OBJ_FUNCTION); { \
|
||||
Entity t; \
|
||||
while (0 != (t = (Entity)DICTdo(&de))) {
|
||||
#define SCOPEdo_rules(s,t,de) DICTdo_type_init(s->symbol_table,&de,OBJ_RULE); { \
|
||||
Entity t; \
|
||||
while (0 != (t = (Entity)DICTdo(&de))) {
|
||||
|
||||
#define SCOPEod }}
|
||||
|
||||
/***********************/
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_entities PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT Generic SCOPEfind PROTO( ( Scope, char *, int ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPE_get_functions PROTO( ( Scope, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_functions PROTO( ( Scope ) );
|
||||
extern SC_EXPRESS_EXPORT void SCOPE_get_rules PROTO( ( Scope, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Linked_List SCOPEget_rules PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Symbol_ * SCOPE_get_symbol PROTO( ( Generic ) );
|
||||
extern SCL_EXPRESS_EXPORT void SCOPE_get_entities PROTO( ( Scope, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Linked_List SCOPEget_entities_superclass_order PROTO( ( Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Generic SCOPEfind PROTO( ( Scope, char *, int ) );
|
||||
|
||||
#endif /* SCOPE_H */
|
||||
|
||||
+33
-25
@@ -48,7 +48,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "scope.h"
|
||||
|
||||
@@ -131,7 +131,7 @@ struct Compound_Statement_ {
|
||||
|
||||
struct Conditional_ {
|
||||
Expression test;
|
||||
Linked_List code; /**< list of statements */
|
||||
Linked_List code; /**< list of statements */
|
||||
Linked_List otherwise; /**< list of statements */
|
||||
};
|
||||
|
||||
@@ -164,20 +164,28 @@ struct Return_Statement_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head STMT_fl;
|
||||
#ifdef STATEMENT_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /*STATEMENT_C*/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head ALIAS_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head ASSIGN_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head CASE_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head COMP_STMT_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head COND_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head LOOP_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head PCALL_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head RET_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head INCR_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head STMT_fl;
|
||||
|
||||
extern SC_EXPRESS_EXPORT Statement STATEMENT_ESCAPE;
|
||||
extern SC_EXPRESS_EXPORT Statement STATEMENT_SKIP;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ALIAS_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head ASSIGN_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head CASE_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COMP_STMT_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head COND_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head LOOP_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head PCALL_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head RET_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head INCR_fl;
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_ESCAPE INITIALLY( STATEMENT_NULL );
|
||||
GLOBAL SCL_EXPRESS_EXPORT Statement STATEMENT_SKIP INITIALLY( STATEMENT_NULL );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -225,17 +233,17 @@ extern SC_EXPRESS_EXPORT Statement STATEMENT_SKIP;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Statement STMTcreate PROTO( ( int ) );
|
||||
extern SC_EXPRESS_EXPORT Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement CASEcreate PROTO( ( Expression , Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
|
||||
extern SC_EXPRESS_EXPORT Statement COMP_STMTcreate PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement PCALLcreate PROTO( ( Linked_List ) );
|
||||
extern SC_EXPRESS_EXPORT Statement RETcreate PROTO( ( Expression ) );
|
||||
extern SC_EXPRESS_EXPORT void STMTinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
|
||||
extern SCL_EXPRESS_EXPORT Statement STMTcreate PROTO( ( int ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement ALIAScreate PROTO( ( struct Scope_ *, Variable, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement CASEcreate PROTO( ( Expression , Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement ASSIGNcreate PROTO( ( Expression , Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement COMP_STMTcreate PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement CONDcreate PROTO( ( Expression, Linked_List, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement LOOPcreate PROTO( ( struct Scope_ *, Expression, Expression, Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement PCALLcreate PROTO( ( Linked_List ) );
|
||||
extern SCL_EXPRESS_EXPORT Statement RETcreate PROTO( ( Expression ) );
|
||||
extern SCL_EXPRESS_EXPORT void STMTinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT struct Scope_ * INCR_CTLcreate PROTO( ( Symbol *, Expression start,
|
||||
Expression end, Expression increment ) );
|
||||
|
||||
#endif /*STATEMENT_H*/
|
||||
|
||||
@@ -43,7 +43,7 @@
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "basic.h" /* get basic definitions */
|
||||
#include "memory.h"
|
||||
|
||||
@@ -60,7 +60,7 @@ typedef struct Symbol_ Symbol;
|
||||
struct Symbol_ {
|
||||
char * name;
|
||||
char * filename;
|
||||
int line;
|
||||
unsigned int line;
|
||||
char resolved;
|
||||
};
|
||||
|
||||
@@ -72,7 +72,15 @@ struct Symbol_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
|
||||
#ifdef SYMBOL_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* SYMBOL_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -88,7 +96,8 @@ extern SC_EXPRESS_EXPORT struct freelist_head SYMBOL_fl;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT void SYMBOLinitialize PROTO( ( void ) );
|
||||
SC_EXPRESS_EXPORT Symbol * SYMBOLcreate( char * name, int line, char * filename );
|
||||
extern SCL_EXPRESS_EXPORT void SYMBOLinitialize( void );
|
||||
SCL_EXPRESS_EXPORT Symbol * SYMBOLcreate( char * name, int line, char * filename );
|
||||
|
||||
|
||||
#endif /* SYMBOL_H */
|
||||
|
||||
+52
-44
@@ -106,7 +106,7 @@ enum type_enum {
|
||||
/* packages used */
|
||||
/*****************/
|
||||
|
||||
#include <sc_export.h>
|
||||
#include <scl_export.h>
|
||||
#include "expbasic.h" /* get basic definitions */
|
||||
#include "symbol.h"
|
||||
#include "object.h"
|
||||
@@ -176,43 +176,51 @@ struct TypeBody_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
#ifdef TYPE_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* TYPE_C */
|
||||
|
||||
/* Very commonly-used read-only types */
|
||||
/* non-constant versions probably aren't necessary? */
|
||||
extern SC_EXPRESS_EXPORT Type Type_Bad;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Unknown;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Dont_Care;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Runtime; /**< indicates that this object can't be
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bad;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Unknown;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Dont_Care;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Runtime; /**< indicates that this object can't be
|
||||
calculated now but must be deferred
|
||||
until (the mythical) runtime */
|
||||
extern SC_EXPRESS_EXPORT Type Type_Binary;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Boolean;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Enumeration;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Expression;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Aggregate;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Integer;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Integer;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Number;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Real;
|
||||
extern SC_EXPRESS_EXPORT Type Type_String;
|
||||
extern SC_EXPRESS_EXPORT Type Type_String_Encoded;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Logical;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Set;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Attribute;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Entity;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Funcall;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Generic;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Identifier;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Oneof;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Query;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Self;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Set_Of_String;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Set_Of_Generic;
|
||||
extern SC_EXPRESS_EXPORT Type Type_Bag_Of_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Binary;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Boolean;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Enumeration;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Expression;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Aggregate;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Integer;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Number;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Real;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_String;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_String_Encoded;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Logical;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Attribute;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Entity;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Funcall;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Identifier;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Oneof;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Query;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Self;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_String;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Set_Of_Generic;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Type Type_Bag_Of_Generic;
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head TYPEHEAD_fl;
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head TYPEBODY_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEHEAD_fl;
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head TYPEBODY_fl;
|
||||
|
||||
extern SC_EXPRESS_EXPORT Error ERROR_corrupted_type;
|
||||
GLOBAL SCL_EXPRESS_EXPORT Error ERROR_corrupted_type INITIALLY( ERROR_none );
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -288,20 +296,20 @@ extern SC_EXPRESS_EXPORT Error ERROR_corrupted_type;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_partial PROTO( ( struct Symbol_ *, Scope ) );
|
||||
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate PROTO( ( enum type_enum ) );
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
|
||||
extern SC_EXPRESS_EXPORT TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
|
||||
extern SC_EXPRESS_EXPORT void TYPEinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT void TYPEcleanup PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate PROTO( ( enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_from_body_anonymously PROTO( ( TypeBody ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_name PROTO( ( struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_nostab PROTO( ( struct Symbol_ *, Scope, char ) );
|
||||
extern SCL_EXPRESS_EXPORT TypeBody TYPEBODYcreate PROTO( ( enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT void TYPEinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT void TYPEcleanup PROTO( ( void ) );
|
||||
|
||||
extern SC_EXPRESS_EXPORT bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
|
||||
extern SC_EXPRESS_EXPORT Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
|
||||
extern SCL_EXPRESS_EXPORT bool TYPEinherits_from PROTO( ( Type, enum type_enum ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEget_nonaggregate_base_type PROTO( ( Type ) );
|
||||
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern SC_EXPRESS_EXPORT Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_type PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
extern SCL_EXPRESS_EXPORT Type TYPEcreate_user_defined_tag PROTO( ( Type, Scope, struct Symbol_ * ) );
|
||||
|
||||
#endif /* TYPE_H */
|
||||
|
||||
@@ -99,7 +99,15 @@ struct Variable_ {
|
||||
/* global variables */
|
||||
/********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT struct freelist_head VAR_fl;
|
||||
#ifdef VARIABLE_C
|
||||
#include "defstart.h"
|
||||
#else
|
||||
#include "decstart.h"
|
||||
#endif /* VARIABLE_C */
|
||||
|
||||
GLOBAL SCL_EXPRESS_EXPORT struct freelist_head VAR_fl;
|
||||
|
||||
#include "de_end.h"
|
||||
|
||||
/******************************/
|
||||
/* macro function definitions */
|
||||
@@ -125,8 +133,8 @@ extern SC_EXPRESS_EXPORT struct freelist_head VAR_fl;
|
||||
/* function prototypes */
|
||||
/***********************/
|
||||
|
||||
extern SC_EXPRESS_EXPORT Variable VARcreate PROTO( ( Expression, Type ) );
|
||||
extern SC_EXPRESS_EXPORT void VARinitialize PROTO( ( void ) );
|
||||
extern SC_EXPRESS_EXPORT char * VARget_simple_name PROTO( ( Variable ) );
|
||||
extern SCL_EXPRESS_EXPORT Variable VARcreate PROTO( ( Expression, Type ) );
|
||||
extern SCL_EXPRESS_EXPORT void VARinitialize PROTO( ( void ) );
|
||||
extern SCL_EXPRESS_EXPORT char * VARget_simple_name PROTO( ( Variable ) );
|
||||
|
||||
#endif /* VARIABLE_H */
|
||||
|
||||
@@ -1,108 +0,0 @@
|
||||
#ifndef SC_EXPORT_H
|
||||
#define SC_EXPORT_H
|
||||
|
||||
/* Import/Export flags for base. */
|
||||
#ifndef SC_BASE_EXPORT
|
||||
# if defined(SC_BASE_DLL_EXPORTS) && defined(SC_BASE_DLL_IMPORTS)
|
||||
# error "Only SC_BASE_DLL_EXPORTS or SC_BASE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_BASE_DLL_EXPORTS)
|
||||
# define SC_BASE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_BASE_DLL_IMPORTS)
|
||||
# define SC_BASE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_BASE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for express. */
|
||||
#ifndef SC_EXPRESS_EXPORT
|
||||
# if defined(SC_EXPRESS_DLL_EXPORTS) && defined(SC_EXPRESS_DLL_IMPORTS)
|
||||
# error "Only SC_EXPRESS_DLL_EXPORTS or SC_EXPRESS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_EXPRESS_DLL_EXPORTS)
|
||||
# define SC_EXPRESS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_EXPRESS_DLL_IMPORTS)
|
||||
# define SC_EXPRESS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_EXPRESS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for exppp. */
|
||||
#ifndef SC_EXPPP_EXPORT
|
||||
# if defined(SC_EXPPP_DLL_EXPORTS) && defined(SC_EXPPP_DLL_IMPORTS)
|
||||
# error "Only SC_EXPPP_DLL_EXPORTS or SC_EXPPP_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_EXPPP_DLL_EXPORTS)
|
||||
# define SC_EXPPP_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_EXPPP_DLL_IMPORTS)
|
||||
# define SC_EXPPP_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_EXPPP_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for utils. */
|
||||
#ifndef SC_UTILS_EXPORT
|
||||
# if defined(SC_UTILS_DLL_EXPORTS) && defined(SC_UTILS_DLL_IMPORTS)
|
||||
# error "Only SC_UTILS_DLL_EXPORTS or SC_UTILS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_UTILS_DLL_EXPORTS)
|
||||
# define SC_UTILS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_UTILS_DLL_IMPORTS)
|
||||
# define SC_UTILS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_UTILS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for dai. */
|
||||
#ifndef SC_DAI_EXPORT
|
||||
# if defined(SC_DAI_DLL_EXPORTS) && defined(SC_DAI_DLL_IMPORTS)
|
||||
# error "Only SC_DAI_DLL_EXPORTS or SC_DAI_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_DAI_DLL_EXPORTS)
|
||||
# define SC_DAI_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_DAI_DLL_IMPORTS)
|
||||
# define SC_DAI_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_DAI_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for core. */
|
||||
#ifndef SC_CORE_EXPORT
|
||||
# if defined(SC_CORE_DLL_EXPORTS) && defined(SC_CORE_DLL_IMPORTS)
|
||||
# error "Only SC_CORE_DLL_EXPORTS or SC_CORE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_CORE_DLL_EXPORTS)
|
||||
# define SC_CORE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_CORE_DLL_IMPORTS)
|
||||
# define SC_CORE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_CORE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for editor. */
|
||||
#ifndef SC_EDITOR_EXPORT
|
||||
# if defined(SC_EDITOR_DLL_EXPORTS) && defined(SC_EDITOR_DLL_IMPORTS)
|
||||
# error "Only SC_EDITOR_DLL_EXPORTS or SC_EDITOR_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_EDITOR_DLL_EXPORTS)
|
||||
# define SC_EDITOR_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_EDITOR_DLL_IMPORTS)
|
||||
# define SC_EDITOR_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_EDITOR_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for lazyfile. */
|
||||
#ifndef SC_LAZYFILE_EXPORT
|
||||
# if defined(SC_LAZYFILE_DLL_EXPORTS) && defined(SC_LAZYFILE_DLL_IMPORTS)
|
||||
# error "Only SC_LAZYFILE_DLL_EXPORTS or SC_LAZYFILE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_LAZYFILE_DLL_EXPORTS)
|
||||
# define SC_LAZYFILE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_LAZYFILE_DLL_IMPORTS)
|
||||
# define SC_LAZYFILE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_LAZYFILE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* SC_EXPORT_H */
|
||||
@@ -13,6 +13,7 @@
|
||||
#cmakedefine HAVE_PROCESS_H 1
|
||||
#cmakedefine HAVE_IO_H 1
|
||||
|
||||
#cmakedefine YYTEXT_POINTER 1
|
||||
#cmakedefine SCL_TRACE_FPRINTF 1
|
||||
#cmakedefine SCL_MEMMGR_ENABLE_CHECKS 1
|
||||
|
||||
@@ -0,0 +1,95 @@
|
||||
#ifndef SCL_EXPORT_H
|
||||
#define SCL_EXPORT_H
|
||||
|
||||
/* Import/Export flags for base. */
|
||||
#ifndef SCL_BASE_EXPORT
|
||||
# if defined(SCL_BASE_DLL_EXPORTS) && defined(SCL_BASE_DLL_IMPORTS)
|
||||
# error "Only SCL_BASE_DLL_EXPORTS or SCL_BASE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_BASE_DLL_EXPORTS)
|
||||
# define SCL_BASE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_BASE_DLL_IMPORTS)
|
||||
# define SCL_BASE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_BASE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for express. */
|
||||
#ifndef SCL_EXPRESS_EXPORT
|
||||
# if defined(SCL_EXPRESS_DLL_EXPORTS) && defined(SCL_EXPRESS_DLL_IMPORTS)
|
||||
# error "Only SCL_EXPRESS_DLL_EXPORTS or SCL_EXPRESS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EXPRESS_DLL_EXPORTS)
|
||||
# define SCL_EXPRESS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EXPRESS_DLL_IMPORTS)
|
||||
# define SCL_EXPRESS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EXPRESS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for exppp. */
|
||||
#ifndef SCL_EXPPP_EXPORT
|
||||
# if defined(SCL_EXPPP_DLL_EXPORTS) && defined(SCL_EXPPP_DLL_IMPORTS)
|
||||
# error "Only SCL_EXPPP_DLL_EXPORTS or SCL_EXPPP_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EXPPP_DLL_EXPORTS)
|
||||
# define SCL_EXPPP_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EXPPP_DLL_IMPORTS)
|
||||
# define SCL_EXPPP_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EXPPP_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for utils. */
|
||||
#ifndef SCL_UTILS_EXPORT
|
||||
# if defined(SCL_UTILS_DLL_EXPORTS) && defined(SCL_UTILS_DLL_IMPORTS)
|
||||
# error "Only SCL_UTILS_DLL_EXPORTS or SCL_UTILS_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_UTILS_DLL_EXPORTS)
|
||||
# define SCL_UTILS_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_UTILS_DLL_IMPORTS)
|
||||
# define SCL_UTILS_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_UTILS_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for dai. */
|
||||
#ifndef SCL_DAI_EXPORT
|
||||
# if defined(SCL_DAI_DLL_EXPORTS) && defined(SCL_DAI_DLL_IMPORTS)
|
||||
# error "Only SCL_DAI_DLL_EXPORTS or SCL_DAI_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_DAI_DLL_EXPORTS)
|
||||
# define SCL_DAI_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_DAI_DLL_IMPORTS)
|
||||
# define SCL_DAI_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_DAI_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for core. */
|
||||
#ifndef SCL_CORE_EXPORT
|
||||
# if defined(SCL_CORE_DLL_EXPORTS) && defined(SCL_CORE_DLL_IMPORTS)
|
||||
# error "Only SCL_CORE_DLL_EXPORTS or SCL_CORE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_CORE_DLL_EXPORTS)
|
||||
# define SCL_CORE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_CORE_DLL_IMPORTS)
|
||||
# define SCL_CORE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_CORE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
/* Import/Export flags for editor. */
|
||||
#ifndef SCL_EDITOR_EXPORT
|
||||
# if defined(SCL_EDITOR_DLL_EXPORTS) && defined(SCL_EDITOR_DLL_IMPORTS)
|
||||
# error "Only SCL_EDITOR_DLL_EXPORTS or SCL_EDITOR_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SCL_EDITOR_DLL_EXPORTS)
|
||||
# define SCL_EDITOR_EXPORT __declspec(dllexport)
|
||||
# elif defined(SCL_EDITOR_DLL_IMPORTS)
|
||||
# define SCL_EDITOR_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SCL_EDITOR_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#endif /* SCL_EXPORT_H */
|
||||
@@ -43,6 +43,7 @@ typedef int _Bool;
|
||||
*/
|
||||
#ifndef __bool_true_false_are_defined
|
||||
#define bool _Bool
|
||||
#define Boolean _Bool
|
||||
#define false 0
|
||||
#define true 1
|
||||
#define __bool_true_false_are_defined 1
|
||||
@@ -1,4 +1,3 @@
|
||||
/****** RENAMED from xgetopt.h to sc_getopt.h ***********/
|
||||
// XGetopt.h Version 1.2
|
||||
//
|
||||
// Author: Hans Dietrich
|
||||
@@ -15,16 +14,15 @@
|
||||
|
||||
#ifndef XGETOPT_H
|
||||
#define XGETOPT_H
|
||||
#include "sc_export.h"
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
extern SC_BASE_EXPORT int optind, opterr;
|
||||
extern SC_BASE_EXPORT char * optarg;
|
||||
extern int optind, opterr;
|
||||
extern char * optarg;
|
||||
|
||||
int SC_BASE_EXPORT sc_getopt( int argc, char * argv[], char * optstring );
|
||||
int getopt( int argc, char * argv[], char * optstring );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
-59
@@ -1,59 +0,0 @@
|
||||
# lcov.cmake
|
||||
# `ctest -S lcov.cmake`
|
||||
|
||||
if( NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
|
||||
message( FATAL_ERROR "LCOV is Linux-only" )
|
||||
endif( NOT ${CMAKE_SYSTEM_NAME} STREQUAL "Linux" )
|
||||
|
||||
set( CTEST_SOURCE_DIRECTORY . )
|
||||
set( CTEST_BINARY_DIRECTORY build_lcov )
|
||||
set( CTEST_CMAKE_GENERATOR "Unix Makefiles" )
|
||||
set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
|
||||
set( CTEST_INITIAL_CACHE "
|
||||
SITE:STRING=${CTEST_SITE}
|
||||
BUILDNAME:STRING=${CTEST_BUILD_NAME}
|
||||
SC_ENABLE_TESTING:BOOL=ON
|
||||
SC_ENABLE_COVERAGE:BOOL=ON
|
||||
SC_BUILD_SCHEMAS:STRING=ALL
|
||||
SC_BUILD_TYPE:STRING=Debug
|
||||
")
|
||||
|
||||
set( LCOV_OUT "${CTEST_BINARY_DIRECTORY}/lcov_html" )
|
||||
|
||||
ctest_start(lcov)
|
||||
ctest_empty_binary_directory(${CTEST_BINARY_DIRECTORY})
|
||||
message("configuring...")
|
||||
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" OPTIONS "-DSC_BUILD_SCHEMAS=ALL;-DSC_ENABLE_COVERAGE=ON;-SC_PYTHON_GENERATOR=OFF" )
|
||||
message("lcov: resetting counters...")
|
||||
execute_process( COMMAND lcov -z -d .
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} OUTPUT_QUIET )
|
||||
|
||||
# copy files so lcov won't complain
|
||||
execute_process( COMMAND ${CMAKE_COMMAND} -E copy src/express/expparse.y ${CTEST_BINARY_DIRECTORY}/src/express/CMakeFiles/express.dir )
|
||||
execute_process( COMMAND ${CMAKE_COMMAND} -E copy src/express/expscan.l ${CTEST_BINARY_DIRECTORY}/src/express/CMakeFiles/express.dir )
|
||||
|
||||
message("building...")
|
||||
ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" )
|
||||
|
||||
message("running tests...")
|
||||
ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" PARALLEL_LEVEL 1 )
|
||||
|
||||
message( "analyzing profiling data using lcov..." )
|
||||
execute_process( COMMAND lcov -c -d . -o stepcode.lcov
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} OUTPUT_QUIET ERROR_QUIET )
|
||||
|
||||
message("removing system headers...")
|
||||
execute_process( COMMAND lcov -r stepcode.lcov "/usr/include/*" -o stepcode_no_usr.lcov
|
||||
WORKING_DIRECTORY ${CTEST_BINARY_DIRECTORY} OUTPUT_QUIET ERROR_QUIET )
|
||||
execute_process( COMMAND ${CMAKE_COMMAND} -E make_directory ${LCOV_OUT} )
|
||||
|
||||
message( "creating html files..." )
|
||||
execute_process( COMMAND genhtml ../stepcode_no_usr.lcov
|
||||
WORKING_DIRECTORY ${LCOV_OUT} OUTPUT_QUIET ERROR_QUIET )
|
||||
|
||||
message( "html files are located in ${LCOV_OUT}" )
|
||||
execute_process( COMMAND ${CMAKE_COMMAND} -E tar czf ${LCOV_OUT}.tgz ${LCOV_OUT} WORKING_DIRECTORY ${CTEST_SOURCE_DIRECTORY} )
|
||||
|
||||
message( "tarball at ${LCOV_OUT}.tgz" )
|
||||
|
||||
message( "================================================ Success! ================================================" )
|
||||
+3
-3
@@ -1,10 +1,10 @@
|
||||
#astyle config file
|
||||
|
||||
#run astyle on one or a few files: use
|
||||
#run astyle on one or a few files: use
|
||||
# astyle --options=misc/astyle.cfg path/to/file
|
||||
|
||||
#run astyle on all files: from the scl root dir, use
|
||||
# astyle --options=misc/astyle.cfg --recursive "src/*.c" "src/*.cc" "include/*.h" "src/*.h" "test/*.cc" "test/*.h"
|
||||
#run astyle on all files: from the scl root dir, use
|
||||
# astyle --options=misc/astyle.cfg --recursive "src/*.c" "src/*.cc" "include/*.h" "src/*.h"
|
||||
# in the above line, the double quotes *are* necessary
|
||||
|
||||
# DO NOT run astyle on flex/bison input such as expparse.y and expscan.l!
|
||||
|
||||
+7
-12
@@ -8,23 +8,23 @@ set( CTEST_MEMORYCHECK_COMMAND /usr/bin/valgrind )
|
||||
set( CTEST_INITIAL_CACHE "
|
||||
SITE:STRING=${CTEST_SITE}
|
||||
BUILDNAME:STRING=${CTEST_BUILD_NAME}
|
||||
SC_ENABLE_TESTING:BOOL=ON
|
||||
SC_BUILD_TYPE:STRING=Debug
|
||||
SCL_ENABLE_TESTING:BOOL=ON
|
||||
SCL_BUILD_TYPE:STRING=Debug
|
||||
")
|
||||
|
||||
|
||||
|
||||
if( EXISTS "../.SC_CTEST_PREFS.cmake" )
|
||||
include( "../.SC_CTEST_PREFS.cmake" )
|
||||
if( EXISTS "../.SCL_CTEST_PREFS.cmake" )
|
||||
include( "../.SCL_CTEST_PREFS.cmake" )
|
||||
else()
|
||||
message( WARNING "Did not find ../.SC_CTEST_PREFS.cmake, containing config variables - result submission disabled" )
|
||||
message( WARNING "Did not find ../.SCL_CTEST_PREFS.cmake, containing config variables - result submission disabled" )
|
||||
set( SKIP_SUBMISSION TRUE )
|
||||
endif()
|
||||
|
||||
######################################################
|
||||
######################################################
|
||||
# use config variables such as these in
|
||||
# ../.SC_CTEST_PREFS.cmake
|
||||
# ../.SCL_CTEST_PREFS.cmake
|
||||
#
|
||||
#set( CTEST_SITE "username")
|
||||
#set( CTEST_BUILD_NAME "build type, os, arch")
|
||||
@@ -66,7 +66,7 @@ file(WRITE "${CTEST_BINARY_DIRECTORY}/CTestCustom.cmake" "
|
||||
set( CTEST_CUSTOM_ERROR_EXCEPTION \"{standard input}:[0-9][0-9]*: WARNING: \")
|
||||
")
|
||||
|
||||
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" APPEND OPTIONS -DSC_ENABLE_TESTING=ON )
|
||||
ctest_configure( BUILD "${CTEST_BINARY_DIRECTORY}" APPEND OPTIONS -DSCL_ENABLE_TESTING=ON )
|
||||
SUBMIT_TEST( Configure )
|
||||
ctest_build( BUILD "${CTEST_BINARY_DIRECTORY}" APPEND )
|
||||
SUBMIT_TEST( Build )
|
||||
@@ -111,10 +111,5 @@ if(NOT SKIP_TEST_CPP_SCHEMA_SPECIFIC )
|
||||
SUBMIT_TEST( Test )
|
||||
endif()
|
||||
|
||||
if(NOT SKIP_TEST_CPP_UNIT )
|
||||
ctest_test( BUILD "${CTEST_BINARY_DIRECTORY}" APPEND
|
||||
INCLUDE_LABEL "cpp_unit_....*" )
|
||||
SUBMIT_TEST( Test )
|
||||
endif()
|
||||
|
||||
# ctest_coverage( )
|
||||
|
||||
+10
-29
@@ -1,34 +1,15 @@
|
||||
|
||||
set(SC_BASE_SOURCES
|
||||
sc_memmgr.cc
|
||||
sc_trace_fprintf.c
|
||||
sc_getopt.cc
|
||||
sc_benchmark.cc
|
||||
set(SCL_BASE_SOURCES
|
||||
scl_memmgr.cc
|
||||
scl_trace_fprintf.c
|
||||
)
|
||||
|
||||
if(MINGW OR MSVC OR BORLAND)
|
||||
add_definitions( -DSC_BASE_DLL_EXPORTS )
|
||||
include_directories(
|
||||
${SCL_SOURCE_DIR}/include
|
||||
)
|
||||
|
||||
if(MSVC OR BORLAND)
|
||||
add_definitions( -DSCL_BASE_DLL_EXPORTS )
|
||||
endif()
|
||||
|
||||
if (${SC_MEMMGR_ENABLE_CHECKS})
|
||||
add_definitions( -DSC_MEMMGR_ENABLE_CHECKS )
|
||||
endif()
|
||||
|
||||
SC_ADDLIB(base "${SC_BASE_SOURCES}" "")
|
||||
|
||||
if(MINGW OR MSVC OR BORLAND)
|
||||
target_link_libraries(base psapi.lib)
|
||||
endif()
|
||||
|
||||
if(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src" )
|
||||
message( "Judy array source code not found. Downloading (don't sweat, it's public domain)..." )
|
||||
file( DOWNLOAD "http://github.com/mpictor/judy-template/archive/master.tar.gz"
|
||||
"${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz" SHOW_PROGRESS )
|
||||
execute_process(
|
||||
COMMAND ${CMAKE_COMMAND} -E tar xzf "${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz"
|
||||
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/"
|
||||
)
|
||||
file( RENAME judy-template-master judy )
|
||||
file( REMOVE "${CMAKE_CURRENT_SOURCE_DIR}/judy.tar.gz" )
|
||||
message( "Judy array source code extracted." )
|
||||
endif(NOT IS_DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/judy/src" )
|
||||
SCL_ADDLIB(base "${SCL_BASE_SOURCES}" "")
|
||||
|
||||
@@ -1,70 +0,0 @@
|
||||
|
||||
cmake_minimum_required(VERSION 2.8)
|
||||
project( JudyTemplates )
|
||||
|
||||
if( NOT DEFINED CMAKE_BUILD_TYPE )
|
||||
# set( CMAKE_BUILD_TYPE "RelWithDebInfo" ) #optimize, but include debug info
|
||||
set( CMAKE_BUILD_TYPE "Release" )
|
||||
endif( NOT DEFINED CMAKE_BUILD_TYPE )
|
||||
|
||||
SET(CMAKE_LIBRARY_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
|
||||
SET(CMAKE_ARCHIVE_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/lib )
|
||||
SET(CMAKE_RUNTIME_OUTPUT_DIRECTORY ${CMAKE_BINARY_DIR}/bin )
|
||||
|
||||
if( NOT DEFINED JUDY_OPTIMIZE_FLAGS )
|
||||
if( CMAKE_COMPILER_IS_GNUCC )
|
||||
set( JUDY_OPTIMIZE_FLAGS "-march=native" )
|
||||
|
||||
#test for LTO; this uses an internal variable so it may break
|
||||
if( DEFINED CMAKE_C_COMPILER_VERSION )
|
||||
if( ${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 4.7.0 )
|
||||
set( JUDY_OPTIMIZE_FLAGS "${JUDY_OPTIMIZE_FLAGS} -flto" )
|
||||
message( " -- GCC version: ${CMAKE_C_COMPILER_VERSION}. Enabling link-time optimization." )
|
||||
endif( ${CMAKE_C_COMPILER_VERSION} VERSION_GREATER 4.7.0 )
|
||||
endif( DEFINED CMAKE_C_COMPILER_VERSION )
|
||||
#elseif( MSVC )
|
||||
# set( JUDY_OPTIMIZE_FLAGS "..." ) # <--- set MSVC flags here <---
|
||||
else()
|
||||
message( "Unrecognized compiler - no optimization flags set. Edit CMakeLists.txt or set JUDY_OPTIMIZE_FLAGS." )
|
||||
set( JUDY_OPTIMIZE_FLAGS "" )
|
||||
endif( CMAKE_COMPILER_IS_GNUCC )
|
||||
endif( NOT DEFINED JUDY_OPTIMIZE_FLAGS )
|
||||
add_definitions( ${JUDY_OPTIMIZE_FLAGS} )
|
||||
|
||||
set( JUDYS_SOURCES src/judy.c src/judy.h )
|
||||
|
||||
if( CMAKE_COMPILER_IS_GNUCC )
|
||||
add_definitions( -pedantic -W -Wall -Wundef -Wfloat-equal -Wshadow -Winline -Wno-long-long )
|
||||
endif( CMAKE_COMPILER_IS_GNUCC )
|
||||
|
||||
add_library( judy_lib STATIC ${JUDYS_SOURCES} )
|
||||
|
||||
include_directories( src )
|
||||
|
||||
if( ENABLE_TESTING )
|
||||
include( CTest )
|
||||
include_directories( test )
|
||||
enable_testing()
|
||||
|
||||
add_executable( pennysort test/pennySort.c test/sort.c ${JUDYS_SOURCES} )
|
||||
add_executable( hexsort test/hexSort.c test/sort.c ${JUDYS_SOURCES} )
|
||||
set_target_properties( pennysort hexsort PROPERTIES COMPILE_FLAGS "-DSTANDALONE" )
|
||||
|
||||
|
||||
add_executable( judyLtest test/judyLtest.cc )
|
||||
target_link_libraries( judyLtest judy_lib )
|
||||
add_test( judyLtest judyLtest )
|
||||
|
||||
add_executable( judyL2test test/judyL2test.cc )
|
||||
target_link_libraries( judyL2test judy_lib )
|
||||
add_test( judyL2test judyL2test )
|
||||
|
||||
add_executable( judyStest test/judyStest.cc )
|
||||
target_link_libraries( judyStest judy_lib )
|
||||
add_test( judyStest judyStest )
|
||||
|
||||
add_executable( judyS2test test/judyS2test.cc )
|
||||
target_link_libraries( judyS2test judy_lib )
|
||||
add_test( judyS2test judyS2test )
|
||||
|
||||
endif( ENABLE_TESTING )
|
||||
@@ -1,43 +0,0 @@
|
||||
# Judy Array Templates
|
||||
The Judy Array is a sparse dynamic array. It is a particular kind of trie that is highly efficient in space and time, and does not require tuning.
|
||||
|
||||
This uses [Karl Malbrain's implementation](http://code.google.com/p/judyarray/) of the Judy Array. Additional information can be found with Doug Baskins' [original implementation](http://judy.sourceforge.net/) on sourceforge, or on [Wikipedia](http://en.wikipedia.org/wiki/Judy_array).
|
||||
## The templates
|
||||
* `judyLArray` - a C++ template wrapper for an int-int Judy Array. JudyKey and JudyValue must be integer types and the same size as a pointer (i.e. 32- or 64-bit)
|
||||
* `judySArray` - Same as judyLArray, but with string-int mapping. The above restrictions on JudyValue apply here as well.
|
||||
* **TODO** - single-key, multi-value versions of the above
|
||||
* **TODO** - single-key, n-value versions of the above *(?)*
|
||||
|
||||
## Comparison between this and the versions Karl and Doug wrote
|
||||
* Doug Baskins' code is licenced under the LGPL. While more permissive than the GPL, it's still not always acceptable. His code is very fast but weighs in at ~20k lines.
|
||||
* Karl Malbrain's code is ~1250 lines, in a single file containing the judy array and the test code; use requires creating a header.
|
||||
* Both of the above are written in C, so they don't fit neatly into object-oriented C++.
|
||||
* Unlike Doug's code, this is ~1250 lines. Unlike Karl's, this is split into several files.
|
||||
|
||||
## Files
|
||||
* `CMakeLists.txt` - CMake build logic. If you don't have CMake, it should be quite easy to write a file for the build system of your choice.
|
||||
* **src/**
|
||||
* `judy.c`, `judy.h` - implementation of the Judy Array
|
||||
* `judyLArray.h` - the judyLArray template
|
||||
* `judySArray.h` - the judySArray template
|
||||
* **test/**
|
||||
* `hexSort.c` - Sorts a file where each line contains 32 hex chars. Compiles to `hexsort`, which is the same executable as compiling Karl's code with `-DHEXSORT -DSTANDALONE`
|
||||
* `pennySort.c` - Sorts strings; compiles to `pennysort`. Same as compiling Karl's code with `-DSTANDALONE`.
|
||||
* `sort.c`, `sort.h` - Karl's sorting functions. Only used by `hexsort` and `pennysort`.
|
||||
* `judyLtest.cc` - an incomplete test of the judyLArray template.
|
||||
* `judyStest.cc` - an incomplete test of the judySArray template.
|
||||
|
||||
|
||||
## Compiling
|
||||
* requires C and C++ compilers, CMake.
|
||||
* from the command line:
|
||||
* `mkdir build; cd build`
|
||||
* `cmake .. -DENABLE_TESTING=TRUE`
|
||||
* `make`
|
||||
|
||||
## License
|
||||
|
||||
Karl Malbrain's judy array code is public domain; what I've added is public domain as well.
|
||||
|
||||
## Contact
|
||||
mpictor -a-t- gmail
|
||||
@@ -1,29 +0,0 @@
|
||||
#astyle config file
|
||||
|
||||
#run astyle on one or a few files: use
|
||||
# astyle --options=misc/astyle.cfg path/to/file
|
||||
|
||||
#run astyle on all files: from the root dir, use
|
||||
# astyle --options=misc/astyle.cfg --recursive "src/*.c" "src/*.h" "test/*.c" "test/*.h"
|
||||
# in the above line, the double quotes *are* necessary
|
||||
|
||||
|
||||
suffix=none #don't create backup files
|
||||
|
||||
style=java #compact bracket style
|
||||
|
||||
indent=spaces=4
|
||||
|
||||
indent-preprocessor
|
||||
indent-classes
|
||||
indent-switches
|
||||
indent-namespaces
|
||||
pad-oper #pad (space) around operators
|
||||
pad-paren-in #pad inside parenthesis
|
||||
unpad-paren #remove parenthesis padding other than requested above
|
||||
|
||||
add-brackets #add brackets on one-line conditionals
|
||||
convert-tabs #convert all tabs to spaces
|
||||
align-pointer=middle #char * foo
|
||||
|
||||
lineend=linux #lines end with LF (linux), not CRLF (windows)
|
||||
@@ -1,8 +0,0 @@
|
||||
#!/bin/sh
|
||||
|
||||
#generates a file of hex keys and runs hexsort on it. No verification is done.
|
||||
#hex data comes from /dev/urandom, so it isn't all that random.
|
||||
|
||||
hexdump -v -e '2/8 "%08x"' -e '"\n"' /dev/urandom |head -n 1000000 >ukeys
|
||||
#a.out [in-file] [out-file] [keysize] [recordlen] [keyoffset] [mergerecs]
|
||||
time bin/hexsort ukeys skeys
|
||||
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -1,187 +0,0 @@
|
||||
#ifndef JUDY64_H
|
||||
#define JUDY64_H
|
||||
// Judy arrays 13 DEC 2012 (judy64n.c from http://code.google.com/p/judyarray/ )
|
||||
// This code is public domain.
|
||||
|
||||
// Author Karl Malbrain, malbrain AT yahoo.com
|
||||
// with assistance from Jan Weiss.
|
||||
// modifications (and any bugs) by Mark Pictor, mpictor at gmail
|
||||
|
||||
// Simplified judy arrays for strings and integers
|
||||
// Adapted from the ideas of Douglas Baskins of HP.
|
||||
|
||||
// Map a set of keys to corresponding memory cells (uints).
|
||||
// Each cell must be set to a non-zero value by the caller.
|
||||
|
||||
// String mappings are denoted by calling judy_open with zero as
|
||||
// the second argument. Integer mappings are denoted by calling
|
||||
// judy_open with the Integer depth of the Judy Trie as the second
|
||||
// argument.
|
||||
|
||||
// functions:
|
||||
// judy_open: open a new judy array returning a judy object.
|
||||
// judy_close: close an open judy array, freeing all memory.
|
||||
// judy_clone: clone an open judy array, duplicating the stack.
|
||||
// judy_data: allocate data memory within judy array for external use.
|
||||
// judy_cell: insert a string into the judy array, return cell pointer.
|
||||
// judy_strt: retrieve the cell pointer greater than or equal to given key
|
||||
// judy_slot: retrieve the cell pointer, or return NULL for a given key.
|
||||
// judy_key: retrieve the string value for the most recent judy query.
|
||||
// judy_end: retrieve the cell pointer for the last string in the array.
|
||||
// judy_nxt: retrieve the cell pointer for the next string in the array.
|
||||
// judy_prv: retrieve the cell pointer for the prev string in the array.
|
||||
// judy_del: delete the key and cell for the current stack entry.
|
||||
|
||||
/* Import/Export flags for base. */
|
||||
#ifndef SC_BASE_EXPORT
|
||||
# if defined(SC_BASE_DLL_EXPORTS) && defined(SC_BASE_DLL_IMPORTS)
|
||||
# error "Only SC_BASE_DLL_EXPORTS or SC_BASE_DLL_IMPORTS can be defined, not both."
|
||||
# elif defined(SC_BASE_DLL_EXPORTS)
|
||||
# define SC_BASE_EXPORT __declspec(dllexport)
|
||||
# elif defined(SC_BASE_DLL_IMPORTS)
|
||||
# define SC_BASE_EXPORT __declspec(dllimport)
|
||||
# else
|
||||
# define SC_BASE_EXPORT
|
||||
# endif
|
||||
#endif
|
||||
|
||||
#if defined(__LP64__) || \
|
||||
defined(__x86_64__) || \
|
||||
defined(__amd64__) || \
|
||||
defined(_WIN64) || \
|
||||
defined(__sparc64__) || \
|
||||
defined(__arch64__) || \
|
||||
defined(__powerpc64__) || \
|
||||
defined (__s390x__)
|
||||
// defines for 64 bit
|
||||
typedef unsigned long long judyvalue;
|
||||
typedef unsigned long long JudySlot;
|
||||
#define JUDY_key_mask (0x07)
|
||||
#define JUDY_key_size 8
|
||||
#define JUDY_slot_size 8
|
||||
#define JUDY_span_bytes (3 * JUDY_key_size)
|
||||
#define JUDY_span_equiv JUDY_2
|
||||
#define JUDY_radix_equiv JUDY_8
|
||||
|
||||
#define PRIjudyvalue "llu"
|
||||
|
||||
#else
|
||||
// defines for 32 bit
|
||||
typedef unsigned int judyvalue;
|
||||
typedef unsigned int JudySlot;
|
||||
#define JUDY_key_mask (0x03)
|
||||
#define JUDY_key_size 4
|
||||
#define JUDY_slot_size 4
|
||||
#define JUDY_span_bytes (7 * JUDY_key_size)
|
||||
#define JUDY_span_equiv JUDY_4
|
||||
#define JUDY_radix_equiv JUDY_8
|
||||
|
||||
#define PRIjudyvalue "u"
|
||||
|
||||
#endif
|
||||
|
||||
#define JUDY_mask (~(JudySlot)0x07)
|
||||
|
||||
// define the alignment factor for judy nodes and allocations
|
||||
// to enable this feature, set to 64
|
||||
|
||||
#define JUDY_cache_line 64 // minimum size is 8 bytes
|
||||
// can be calculated using http://stackoverflow.com/a/4049562/382458 - but that would limit optimization!
|
||||
// 10x 1M key hexsort, line size 64: 9.949s; size 8: 10.018s --> 1% improvement for 64; however, this may be dwarfed by the sort code
|
||||
|
||||
#define JUDY_seg 65536
|
||||
|
||||
enum JUDY_types {
|
||||
JUDY_radix = 0, // inner and outer radix fan-out
|
||||
JUDY_1 = 1, // linear list nodes of designated count
|
||||
JUDY_2 = 2,
|
||||
JUDY_4 = 3,
|
||||
JUDY_8 = 4,
|
||||
JUDY_16 = 5,
|
||||
JUDY_32 = 6,
|
||||
#ifdef ASKITIS
|
||||
JUDY_64 = 7
|
||||
#else
|
||||
JUDY_span = 7 // up to 28 tail bytes of key contiguously stored
|
||||
#endif
|
||||
};
|
||||
|
||||
typedef struct {
|
||||
void * seg; // next used allocator
|
||||
unsigned int next; // next available offset
|
||||
} JudySeg;
|
||||
|
||||
typedef struct {
|
||||
JudySlot next; // judy object
|
||||
unsigned int off; // offset within key
|
||||
int slot; // slot within object
|
||||
} JudyStack;
|
||||
|
||||
typedef struct {
|
||||
JudySlot root[1]; // root of judy array
|
||||
void ** reuse[8]; // reuse judy blocks
|
||||
JudySeg * seg; // current judy allocator
|
||||
unsigned int level; // current height of stack
|
||||
unsigned int max; // max height of stack
|
||||
unsigned int depth; // number of Integers in a key, or zero for string keys
|
||||
JudyStack stack[1]; // current cursor
|
||||
} Judy;
|
||||
|
||||
#ifdef ASKITIS
|
||||
int Words = 0;
|
||||
int Inserts = 0;
|
||||
int Found = 0;
|
||||
# if JUDY_key_size < 8
|
||||
# define JUDY_max JUDY_16
|
||||
# else
|
||||
# define JUDY_max JUDY_64
|
||||
# endif
|
||||
#else
|
||||
# define JUDY_max JUDY_32
|
||||
#endif
|
||||
|
||||
#ifdef __cplusplus
|
||||
extern "C" {
|
||||
#endif
|
||||
|
||||
/// open a new judy array returning a judy object.
|
||||
SC_BASE_EXPORT Judy * judy_open( unsigned int max, unsigned int depth );
|
||||
|
||||
/// close an open judy array, freeing all memory.
|
||||
SC_BASE_EXPORT void judy_close( Judy * judy );
|
||||
|
||||
/// clone an open judy array, duplicating the stack.
|
||||
SC_BASE_EXPORT Judy * judy_clone( Judy * judy );
|
||||
|
||||
/// allocate data memory within judy array for external use.
|
||||
SC_BASE_EXPORT void * judy_data( Judy * judy, unsigned int amt );
|
||||
|
||||
/// insert a key into the judy array, return cell pointer.
|
||||
SC_BASE_EXPORT JudySlot * judy_cell( Judy * judy, const unsigned char * buff, unsigned int max );
|
||||
|
||||
/// retrieve the cell pointer greater than or equal to given key
|
||||
SC_BASE_EXPORT JudySlot * judy_strt( Judy * judy, const unsigned char * buff, unsigned int max );
|
||||
|
||||
/// retrieve the cell pointer, or return NULL for a given key.
|
||||
SC_BASE_EXPORT JudySlot * judy_slot( Judy * judy, const unsigned char * buff, unsigned int max );
|
||||
|
||||
/// retrieve the string value for the most recent judy query.
|
||||
SC_BASE_EXPORT unsigned int judy_key( Judy * judy, unsigned char * buff, unsigned int max );
|
||||
|
||||
/// retrieve the cell pointer for the last string in the array.
|
||||
SC_BASE_EXPORT JudySlot * judy_end( Judy * judy );
|
||||
|
||||
/// retrieve the cell pointer for the next string in the array.
|
||||
SC_BASE_EXPORT JudySlot * judy_nxt( Judy * judy );
|
||||
|
||||
/// retrieve the cell pointer for the prev string in the array.
|
||||
SC_BASE_EXPORT JudySlot * judy_prv( Judy * judy );
|
||||
|
||||
/// delete the key and cell for the current stack entry.
|
||||
SC_BASE_EXPORT JudySlot * judy_del( Judy * judy );
|
||||
|
||||
#ifdef __cplusplus
|
||||
}
|
||||
#endif
|
||||
|
||||
#endif //JUDY64_H
|
||||
@@ -1,222 +0,0 @@
|
||||
#ifndef JUDYL2ARRAY_H
|
||||
#define JUDYL2ARRAY_H
|
||||
|
||||
/****************************************************************************//**
|
||||
* \file judyL2Array.h C++ wrapper for judyL2 array implementation
|
||||
*
|
||||
* A judyL2 array maps JudyKey's to multiple JudyValue's, similar to
|
||||
* std::multimap. Internally, this is a judyL array of std::vector< JudyValue >.
|
||||
*
|
||||
* Author: Mark Pictor. Public domain.
|
||||
*
|
||||
********************************************************************************/
|
||||
|
||||
#include "judy.h"
|
||||
#include "assert.h"
|
||||
#include <iterator>
|
||||
#include <vector>
|
||||
|
||||
template< typename JudyKey, typename vec >
|
||||
struct judyl2KVpair {
|
||||
JudyKey key;
|
||||
vec value;
|
||||
};
|
||||
|
||||
/** A judyL2 array maps JudyKey's to multiple JudyValue's, similar to std::multimap.
|
||||
* Internally, this is a judyL array of std::vector< JudyValue >.
|
||||
* The first template parameter must be the same size as a void*
|
||||
* \param JudyKey the type of the key, i.e. uint64_t, etc
|
||||
* \param JudyValue the type of the value, i.e. int, pointer-to-object, etc. With judyL2Array, the size of this value can vary.
|
||||
*/
|
||||
template< typename JudyKey, typename JudyValue >
|
||||
class judyL2Array {
|
||||
public:
|
||||
typedef std::vector< JudyValue > vector;
|
||||
typedef const vector cvector;
|
||||
typedef judyl2KVpair< JudyKey, vector * > pair;
|
||||
typedef judyl2KVpair< JudyKey, cvector * > cpair;
|
||||
protected:
|
||||
Judy * _judyarray;
|
||||
unsigned int _maxLevels, _depth;
|
||||
vector ** _lastSlot;
|
||||
JudyKey _buff[1];
|
||||
bool _success;
|
||||
public:
|
||||
judyL2Array(): _maxLevels( sizeof( JudyKey ) ), _depth( 1 ), _lastSlot( 0 ), _success( true ) {
|
||||
assert( sizeof( JudyKey ) == JUDY_key_size && "JudyKey *must* be the same size as a pointer!" );
|
||||
_judyarray = judy_open( _maxLevels, _depth );
|
||||
_buff[0] = 0;
|
||||
}
|
||||
|
||||
explicit judyL2Array( const judyL2Array< JudyKey, JudyValue > & other ): _maxLevels( other._maxLevels ),
|
||||
_depth( other._depth ), _success( other._success ) {
|
||||
_judyarray = judy_clone( other._judyarray );
|
||||
_buff[0] = other._buff[0];
|
||||
find( *_buff ); //set _lastSlot
|
||||
}
|
||||
|
||||
/// calls clear, so should be safe to call at any point
|
||||
~judyL2Array() {
|
||||
clear();
|
||||
judy_close( _judyarray );
|
||||
}
|
||||
|
||||
/// delete all vectors and empty the array
|
||||
void clear() {
|
||||
JudyKey key = 0;
|
||||
while( 0 != ( _lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * ) &key, 0 ) ) ) {
|
||||
//( * _lastSlot )->~vector(); //TODO: placement new
|
||||
delete( * _lastSlot );
|
||||
judy_del( _judyarray );
|
||||
}
|
||||
}
|
||||
|
||||
vector * getLastValue() {
|
||||
assert( _lastSlot );
|
||||
return &_lastSlot;
|
||||
}
|
||||
|
||||
void setLastValue( vector * value ) {
|
||||
assert( _lastSlot );
|
||||
&_lastSlot = value;
|
||||
}
|
||||
|
||||
bool success() {
|
||||
return _success;
|
||||
}
|
||||
|
||||
/** TODO
|
||||
* test for std::vector::shrink_to_fit (C++11), use it once the array is as full as it will be
|
||||
* void freeUnused() {...}
|
||||
*/
|
||||
|
||||
//TODO
|
||||
// allocate data memory within judy array for external use.
|
||||
// void *judy_data (Judy *judy, unsigned int amt);
|
||||
|
||||
/// insert value into the vector for key.
|
||||
bool insert( JudyKey key, JudyValue value ) {
|
||||
_lastSlot = ( vector ** ) judy_cell( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
if( !( * _lastSlot ) ) {
|
||||
* _lastSlot = new vector;
|
||||
/* TODO store vectors inside judy with placement new
|
||||
* vector * n = judy_data( _judyarray, sizeof( std::vector < JudyValue > ) );
|
||||
* new(n) vector;
|
||||
* *_lastSlot = n;
|
||||
* NOTE - memory alloc'd via judy_data will not be freed until the array is freed (judy_close)
|
||||
* also use placement new in the other insert function, below
|
||||
*/
|
||||
}
|
||||
( * _lastSlot )->push_back( value );
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/** for a given key, append to or overwrite the vector
|
||||
* this never simply re-uses the pointer to the given vector because
|
||||
* that would mean that two keys could have the same value (pointer).
|
||||
*/
|
||||
bool insert( JudyKey key, const vector & values, bool overwrite = false ) {
|
||||
_lastSlot = ( vector ** ) judy_cell( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
if( !( * _lastSlot ) ) {
|
||||
* _lastSlot = new vector;
|
||||
/* TODO store vectors inside judy with placement new
|
||||
* (see other insert(), above)
|
||||
*/
|
||||
} else if( overwrite ) {
|
||||
( * _lastSlot )->clear();
|
||||
}
|
||||
std::copy( values.begin(), values.end(), std::back_inserter< vector >( ( ** _lastSlot ) ) );
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer greater than or equal to given key
|
||||
/// NOTE what about an atOrBefore function?
|
||||
const cpair atOrAfter( JudyKey key ) {
|
||||
_lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer, or return NULL for a given key.
|
||||
cvector * find( JudyKey key ) {
|
||||
_lastSlot = ( vector ** ) judy_slot( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
if( ( _lastSlot ) && ( * _lastSlot ) ) {
|
||||
_success = true;
|
||||
return * _lastSlot;
|
||||
} else {
|
||||
_success = false;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the most recent judy query.
|
||||
inline const cpair mostRecentPair() {
|
||||
cpair kv;
|
||||
judy_key( _judyarray, ( unsigned char * ) _buff, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
kv.value = *_lastSlot;
|
||||
_success = true;
|
||||
} else {
|
||||
kv.value = ( JudyValue ) 0;
|
||||
_success = false;
|
||||
}
|
||||
kv.key = _buff[0];
|
||||
return kv;
|
||||
}
|
||||
|
||||
/// retrieve the first key-value pair in the array
|
||||
const cpair & begin() {
|
||||
JudyKey key = 0;
|
||||
_lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * ) &key, 0 );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the last key-value pair in the array
|
||||
const cpair & end() {
|
||||
_lastSlot = ( vector ** ) judy_end( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the next string in the array.
|
||||
const cpair & next() {
|
||||
_lastSlot = ( vector ** ) judy_nxt( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the prev string in the array.
|
||||
const cpair & previous() {
|
||||
_lastSlot = ( vector ** ) judy_prv( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/** delete a key-value pair. If the array is not empty,
|
||||
* getLastValue() will return the entry before the one that was deleted
|
||||
* \sa isEmpty()
|
||||
*/
|
||||
bool removeEntry( JudyKey key ) {
|
||||
if( 0 != ( _lastSlot = ( vector ** ) judy_slot( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size ) ) ) {
|
||||
// _lastSlot->~vector(); //for use with placement new
|
||||
delete _lastSlot;
|
||||
_lastSlot = ( vector ** ) judy_del( _judyarray );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// true if the array is empty
|
||||
bool isEmpty() {
|
||||
JudyKey key = 0;
|
||||
return ( ( judy_strt( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size ) ) ? false : true );
|
||||
}
|
||||
};
|
||||
#endif //JUDYL2ARRAY_H
|
||||
@@ -1,173 +0,0 @@
|
||||
#ifndef JUDYLARRAY_H
|
||||
#define JUDYLARRAY_H
|
||||
|
||||
/****************************************************************************//**
|
||||
* \file judyLArray.h C++ wrapper for judyL array implementation
|
||||
*
|
||||
* A judyL array maps JudyKey's to corresponding memory cells, each containing
|
||||
* a JudyValue. Each cell must be set to a non-zero value by the caller.
|
||||
*
|
||||
* Author: Mark Pictor. Public domain.
|
||||
*
|
||||
********************************************************************************/
|
||||
|
||||
#include "judy.h"
|
||||
#include "assert.h"
|
||||
|
||||
template< typename JudyKey, typename JudyValue >
|
||||
struct judylKVpair {
|
||||
JudyKey key;
|
||||
JudyValue value;
|
||||
};
|
||||
|
||||
/** A judyL array maps JudyKey's to corresponding memory cells, each containing
|
||||
* a JudyValue. Each cell must be set to a non-zero value by the caller.
|
||||
*
|
||||
* Both template parameters must be the same size as a void*
|
||||
* \param JudyKey the type of the key, i.e. uint64_t, pointer-to-object, etc
|
||||
* \param JudyValue the type of the value
|
||||
*/
|
||||
template< typename JudyKey, typename JudyValue >
|
||||
class judyLArray {
|
||||
protected:
|
||||
Judy * _judyarray;
|
||||
unsigned int _maxLevels, _depth;
|
||||
JudyValue * _lastSlot;
|
||||
JudyKey _buff[1];
|
||||
bool _success;
|
||||
public:
|
||||
typedef judylKVpair< JudyKey, JudyValue > pair;
|
||||
judyLArray(): _maxLevels( sizeof( JudyKey ) ), _depth( 1 ), _lastSlot( 0 ), _success( true ) {
|
||||
assert( sizeof( JudyKey ) == JUDY_key_size && "JudyKey *must* be the same size as a pointer!" );
|
||||
assert( sizeof( JudyValue ) == JUDY_key_size && "JudyValue *must* be the same size as a pointer!" );
|
||||
_judyarray = judy_open( _maxLevels, _depth );
|
||||
_buff[0] = 0;
|
||||
}
|
||||
|
||||
explicit judyLArray( const judyLArray< JudyKey, JudyValue > & other ): _maxLevels( other._maxLevels ),
|
||||
_depth( other._depth ), _success( other._success ) {
|
||||
_judyarray = judy_clone( other._judyarray );
|
||||
_buff[0] = other._buff[0];
|
||||
find( *_buff ); //set _lastSlot
|
||||
}
|
||||
|
||||
~judyLArray() {
|
||||
judy_close( _judyarray );
|
||||
}
|
||||
|
||||
void clear() {
|
||||
JudyKey key = 0;
|
||||
while( 0 != ( _lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * ) &key, 0 ) ) ) {
|
||||
judy_del( _judyarray );
|
||||
}
|
||||
}
|
||||
|
||||
JudyValue getLastValue() {
|
||||
assert( _lastSlot );
|
||||
return &_lastSlot;
|
||||
}
|
||||
|
||||
void setLastValue( JudyValue value ) {
|
||||
assert( _lastSlot );
|
||||
&_lastSlot = value;
|
||||
}
|
||||
|
||||
bool success() {
|
||||
return _success;
|
||||
}
|
||||
//TODO
|
||||
// allocate data memory within judy array for external use.
|
||||
// void *judy_data (Judy *judy, unsigned int amt);
|
||||
|
||||
/// insert or overwrite value for key
|
||||
bool insert( JudyKey key, JudyValue value ) {
|
||||
assert( value != 0 );
|
||||
_lastSlot = ( JudyValue * ) judy_cell( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
*_lastSlot = value;
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer greater than or equal to given key
|
||||
/// NOTE what about an atOrBefore function?
|
||||
const pair atOrAfter( JudyKey key ) {
|
||||
_lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer, or return NULL for a given key.
|
||||
JudyValue find( JudyKey key ) {
|
||||
_lastSlot = ( JudyValue * ) judy_slot( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
_success = true;
|
||||
return *_lastSlot;
|
||||
} else {
|
||||
_success = false;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the most recent judy query.
|
||||
inline const pair mostRecentPair() {
|
||||
pair kv;
|
||||
judy_key( _judyarray, ( unsigned char * ) _buff, _depth * JUDY_key_size );
|
||||
if( _lastSlot ) {
|
||||
kv.value = *_lastSlot;
|
||||
_success = true;
|
||||
} else {
|
||||
kv.value = ( JudyValue ) 0;
|
||||
_success = false;
|
||||
}
|
||||
kv.key = _buff[0];
|
||||
return kv;
|
||||
}
|
||||
|
||||
/// retrieve the first key-value pair in the array
|
||||
const pair & begin() {
|
||||
JudyKey key = 0;
|
||||
_lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * ) &key, 0 );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the last key-value pair in the array
|
||||
const pair & end() {
|
||||
_lastSlot = ( JudyValue * ) judy_end( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the next key in the array.
|
||||
const pair & next() {
|
||||
_lastSlot = ( JudyValue * ) judy_nxt( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the prev key in the array.
|
||||
const pair & previous() {
|
||||
_lastSlot = ( JudyValue * ) judy_prv( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/** delete a key-value pair. If the array is not empty,
|
||||
* getLastValue() will return the entry before the one that was deleted
|
||||
* \sa isEmpty()
|
||||
*/
|
||||
bool removeEntry( JudyKey * key ) {
|
||||
if( judy_slot( _judyarray, key, _depth * JUDY_key_size ) ) {
|
||||
_lastSlot = ( JudyValue * ) judy_del( _judyarray );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
/// true if the array is empty
|
||||
bool isEmpty() {
|
||||
JudyKey key = 0;
|
||||
return ( ( judy_strt( _judyarray, ( const unsigned char * ) &key, _depth * JUDY_key_size ) ) ? false : true );
|
||||
}
|
||||
};
|
||||
#endif //JUDYLARRAY_H
|
||||
@@ -1,247 +0,0 @@
|
||||
#ifndef JUDYS2ARRAY_H
|
||||
#define JUDYS2ARRAY_H
|
||||
|
||||
/****************************************************************************//**
|
||||
* \file judyS2Array.h C++ wrapper for judy array implementation
|
||||
*
|
||||
* A judyS2 array maps strings to multiple JudyValue's, similar to
|
||||
* std::multimap. Internally, this is a judyL array of std::vector< JudyValue >.
|
||||
*
|
||||
* Author: Mark Pictor. Public domain.
|
||||
*
|
||||
********************************************************************************/
|
||||
|
||||
#include "judy.h"
|
||||
#include "assert.h"
|
||||
#include <string.h>
|
||||
#include <iterator>
|
||||
#include <vector>
|
||||
|
||||
template< typename JudyValue >
|
||||
struct judys2KVpair {
|
||||
unsigned char * key;
|
||||
JudyValue value;
|
||||
};
|
||||
|
||||
/** A judyS2 array maps a set of strings to multiple JudyValue's, similar to std::multimap.
|
||||
* Internally, this is a judyS array of std::vector< JudyValue >.
|
||||
* \param JudyValue the type of the value, i.e. int, pointer-to-object, etc.
|
||||
*/
|
||||
template< typename JudyValue >
|
||||
class judyS2Array {
|
||||
public:
|
||||
typedef std::vector< JudyValue > vector;
|
||||
typedef const vector cvector;
|
||||
typedef judys2KVpair< vector * > pair;
|
||||
typedef judys2KVpair< cvector * > cpair;
|
||||
protected:
|
||||
Judy * _judyarray;
|
||||
unsigned int _maxKeyLen;
|
||||
vector ** _lastSlot;
|
||||
unsigned char * _buff;
|
||||
bool _success;
|
||||
public:
|
||||
judyS2Array( unsigned int maxKeyLen ): _maxKeyLen( maxKeyLen ), _lastSlot( 0 ), _success( true ) {
|
||||
_judyarray = judy_open( _maxKeyLen, 0 );
|
||||
_buff = new unsigned char[_maxKeyLen];
|
||||
assert( sizeof( JudyValue ) == sizeof( this ) && "JudyValue *must* be the same size as a pointer!" );
|
||||
}
|
||||
|
||||
explicit judyS2Array( const judyS2Array< JudyValue > & other ): _maxKeyLen( other._maxKeyLen ), _success( other._success ) {
|
||||
_judyarray = judy_clone( other._judyarray );
|
||||
_buff = new char[_maxKeyLen];
|
||||
strncpy( _buff, other._buff, _maxKeyLen );
|
||||
_buff[ _maxKeyLen ] = '\0'; //ensure that _buff is null-terminated, since strncpy won't necessarily do so
|
||||
find( _buff ); //set _lastSlot
|
||||
}
|
||||
|
||||
/// calls clear, so should be safe to call at any point
|
||||
~judyS2Array() {
|
||||
clear();
|
||||
judy_close( _judyarray );
|
||||
delete[] _buff;
|
||||
}
|
||||
|
||||
/// delete all vectors and empty the array
|
||||
void clear() {
|
||||
_buff[0] = '\0';
|
||||
while( 0 != ( _lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 ) ) ) {
|
||||
//( * _lastSlot )->~vector(); //TODO: placement new
|
||||
delete( * _lastSlot );
|
||||
judy_del( _judyarray );
|
||||
}
|
||||
}
|
||||
|
||||
vector * getLastValue() {
|
||||
assert( _lastSlot );
|
||||
return &_lastSlot;
|
||||
}
|
||||
|
||||
void setLastValue( vector * value ) {
|
||||
assert( _lastSlot );
|
||||
&_lastSlot = value;
|
||||
}
|
||||
|
||||
bool success() {
|
||||
return _success;
|
||||
}
|
||||
|
||||
/** TODO
|
||||
* test for std::vector::shrink_to_fit (C++11), use it once the array is as full as it will be
|
||||
* void freeUnused() {...}
|
||||
*/
|
||||
|
||||
//TODO
|
||||
// allocate data memory within judy array for external use.
|
||||
// void *judy_data (Judy *judy, unsigned int amt);
|
||||
|
||||
/// insert value into the vector for key.
|
||||
bool insert( const char * key, JudyValue value, unsigned int keyLen = 0 ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( vector ** ) judy_cell( _judyarray, ( const unsigned char * )key, keyLen );
|
||||
if( _lastSlot ) {
|
||||
if( !( * _lastSlot ) ) {
|
||||
* _lastSlot = new vector;
|
||||
/* TODO store vectors inside judy with placement new
|
||||
* vector * n = judy_data( _judyarray, sizeof( std::vector < JudyValue > ) );
|
||||
* new(n) vector;
|
||||
* *_lastSlot = n;
|
||||
* NOTE - memory alloc'd via judy_data will not be freed until the array is freed (judy_close)
|
||||
* also use placement new in the other insert function, below
|
||||
*/
|
||||
}
|
||||
( * _lastSlot )->push_back( value );
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/** for a given key, append to or overwrite the vector
|
||||
* this never simply re-uses the pointer to the given vector because
|
||||
* that would mean that two keys could have the same value (pointer).
|
||||
*/
|
||||
bool insert( const char * key, const vector & values, unsigned int keyLen = 0, bool overwrite = false ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( vector ** ) judy_cell( _judyarray, ( const unsigned char * )key, keyLen );
|
||||
if( _lastSlot ) {
|
||||
if( !( * _lastSlot ) ) {
|
||||
* _lastSlot = new vector;
|
||||
/* TODO store vectors inside judy with placement new
|
||||
* (see other insert(), above)
|
||||
*/
|
||||
} else if( overwrite ) {
|
||||
( * _lastSlot )->clear();
|
||||
}
|
||||
std::copy( values.begin(), values.end(), std::back_inserter< vector >( ( ** _lastSlot ) ) );
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer greater than or equal to given key
|
||||
/// NOTE what about an atOrBefore function?
|
||||
const cpair atOrAfter( const char * key, unsigned int keyLen = 0 ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * )key, keyLen );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer, or return NULL for a given key.
|
||||
cvector * find( const char * key, unsigned int keyLen = 0 ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( vector ** ) judy_slot( _judyarray, ( const unsigned char * ) key, keyLen );
|
||||
if( ( _lastSlot ) && ( * _lastSlot ) ) {
|
||||
_success = true;
|
||||
return * _lastSlot;
|
||||
} else {
|
||||
_success = false;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the most recent judy query.
|
||||
inline const cpair mostRecentPair() {
|
||||
cpair kv;
|
||||
judy_key( _judyarray, _buff, _maxKeyLen );
|
||||
if( _lastSlot ) {
|
||||
kv.value = *_lastSlot;
|
||||
_success = true;
|
||||
} else {
|
||||
kv.value = ( JudyValue ) 0;
|
||||
_success = false;
|
||||
}
|
||||
kv.key = _buff;
|
||||
return kv;
|
||||
}
|
||||
|
||||
/// retrieve the first key-value pair in the array
|
||||
const cpair & begin() {
|
||||
_buff[0] = '\0';
|
||||
_lastSlot = ( vector ** ) judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the last key-value pair in the array
|
||||
const cpair & end() {
|
||||
_lastSlot = ( vector ** ) judy_end( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the next key in the array.
|
||||
const cpair & next() {
|
||||
_lastSlot = ( vector ** ) judy_nxt( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the prev key in the array.
|
||||
const cpair & previous() {
|
||||
_lastSlot = ( vector ** ) judy_prv( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/** delete a key-value pair. If the array is not empty,
|
||||
* getLastValue() will return the entry before the one that was deleted
|
||||
* \sa isEmpty()
|
||||
*/
|
||||
bool removeEntry( const char * key ) {
|
||||
if( 0 != ( judy_slot( _judyarray, ( const unsigned char * )key, strlen( key ) ) ) ) {
|
||||
// _lastSlot->~vector(); //for use with placement new
|
||||
delete _lastSlot;
|
||||
_lastSlot = ( vector ** ) judy_del( _judyarray );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
///return true if the array is empty
|
||||
bool isEmpty() {
|
||||
_buff[0] = 0;
|
||||
return ( ( judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 ) ) ? false : true );
|
||||
}
|
||||
};
|
||||
#endif //JUDYS2ARRAY_H
|
||||
@@ -1,185 +0,0 @@
|
||||
#ifndef JUDYSARRAY_H
|
||||
#define JUDYSARRAY_H
|
||||
|
||||
/****************************************************************************//**
|
||||
* \file judySArray.h C++ wrapper for judy array implementation
|
||||
*
|
||||
* A judyS array maps strings to corresponding memory cells, each containing
|
||||
* a JudyValue. Each cell must be set to a non-zero value by the caller.
|
||||
*
|
||||
* Author: Mark Pictor. Public domain.
|
||||
*
|
||||
********************************************************************************/
|
||||
|
||||
#include "judy.h"
|
||||
#include "assert.h"
|
||||
#include <string.h>
|
||||
|
||||
template< typename JudyValue >
|
||||
struct judysKVpair {
|
||||
unsigned char * key;
|
||||
JudyValue value;
|
||||
};
|
||||
template< typename JudyValue >
|
||||
class judySArray {
|
||||
protected:
|
||||
Judy * _judyarray;
|
||||
unsigned int _maxKeyLen;
|
||||
JudyValue * _lastSlot;
|
||||
unsigned char * _buff;
|
||||
bool _success;
|
||||
public:
|
||||
typedef judysKVpair< JudyValue > pair;
|
||||
judySArray( unsigned int maxKeyLen ): _maxKeyLen( maxKeyLen ), _success( true ) {
|
||||
_judyarray = judy_open( _maxKeyLen, 0 );
|
||||
_buff = new unsigned char[_maxKeyLen];
|
||||
assert( sizeof( JudyValue ) == sizeof( this ) && "JudyValue *must* be the same size as a pointer!" );
|
||||
}
|
||||
|
||||
explicit judySArray( const judySArray< JudyValue > & other ): _maxKeyLen( other._maxKeyLen ), _success( other._success ) {
|
||||
_judyarray = judy_clone( other._judyarray );
|
||||
_buff = new char[_maxKeyLen];
|
||||
strncpy( _buff, other._buff, _maxKeyLen );
|
||||
_buff[ _maxKeyLen ] = '\0'; //ensure that _buff is null-terminated, since strncpy won't necessarily do so
|
||||
find( _buff ); //set _lastSlot
|
||||
}
|
||||
|
||||
~judySArray() {
|
||||
judy_close( _judyarray );
|
||||
delete[] _buff;
|
||||
}
|
||||
|
||||
void clear() {
|
||||
_buff[0] = '\0';
|
||||
while( 0 != ( _lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 ) ) ) {
|
||||
judy_del( _judyarray );
|
||||
}
|
||||
}
|
||||
|
||||
JudyValue getLastValue() {
|
||||
assert( _lastSlot );
|
||||
return &_lastSlot;
|
||||
}
|
||||
|
||||
void setLastValue( JudyValue value ) {
|
||||
assert( _lastSlot );
|
||||
&_lastSlot = value;
|
||||
}
|
||||
|
||||
bool success() {
|
||||
return _success;
|
||||
}
|
||||
//TODO
|
||||
// allocate data memory within judy array for external use.
|
||||
// void *judy_data (Judy *judy, unsigned int amt);
|
||||
|
||||
/// insert or overwrite value for key
|
||||
bool insert( const char * key, JudyValue value, unsigned int keyLen = 0 ) {
|
||||
assert( value != 0 );
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( JudyValue * ) judy_cell( _judyarray, ( const unsigned char * )key, keyLen );
|
||||
if( _lastSlot ) {
|
||||
*_lastSlot = value;
|
||||
_success = true;
|
||||
} else {
|
||||
_success = false;
|
||||
}
|
||||
return _success;
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer greater than or equal to given key
|
||||
/// NOTE what about an atOrBefore function?
|
||||
const pair atOrAfter( const char * key, unsigned int keyLen = 0 ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * )key, keyLen );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the cell pointer, or return NULL for a given key.
|
||||
JudyValue find( const char * key, unsigned int keyLen = 0 ) {
|
||||
if( keyLen == 0 ) {
|
||||
keyLen = strlen( key );
|
||||
} else {
|
||||
assert( keyLen == strlen( key ) );
|
||||
}
|
||||
assert( keyLen <= _maxKeyLen );
|
||||
_lastSlot = ( JudyValue * ) judy_slot( _judyarray, ( const unsigned char * ) key, keyLen );
|
||||
if( _lastSlot ) {
|
||||
_success = true;
|
||||
return *_lastSlot;
|
||||
} else {
|
||||
_success = false;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the most recent judy query.
|
||||
inline const pair mostRecentPair() {
|
||||
pair kv;
|
||||
judy_key( _judyarray, _buff, _maxKeyLen );
|
||||
if( _lastSlot ) {
|
||||
kv.value = *_lastSlot;
|
||||
_success = true;
|
||||
} else {
|
||||
kv.value = ( JudyValue ) 0;
|
||||
_success = false;
|
||||
}
|
||||
kv.key = _buff;
|
||||
return kv;
|
||||
}
|
||||
|
||||
/// retrieve the first key-value pair in the array
|
||||
const pair & begin() {
|
||||
_buff[0] = '\0';
|
||||
_lastSlot = ( JudyValue * ) judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the last key-value pair in the array
|
||||
const pair & end() {
|
||||
_lastSlot = ( JudyValue * ) judy_end( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the next key in the array.
|
||||
const pair & next() {
|
||||
_lastSlot = ( JudyValue * ) judy_nxt( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/// retrieve the key-value pair for the prev key in the array.
|
||||
const pair & previous() {
|
||||
_lastSlot = ( JudyValue * ) judy_prv( _judyarray );
|
||||
return mostRecentPair();
|
||||
}
|
||||
|
||||
/** delete a key-value pair. If the array is not empty,
|
||||
* getLastValue() will return the entry before the one that was deleted
|
||||
* \sa isEmpty()
|
||||
*/
|
||||
bool removeEntry( const char * key ) {
|
||||
if( judy_slot( _judyarray, ( const unsigned char * )key, strlen( key ) ) ) {
|
||||
_lastSlot = ( JudyValue * ) judy_del( _judyarray );
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
///return true if the array is empty
|
||||
bool isEmpty() {
|
||||
_buff[0] = 0;
|
||||
return ( ( judy_strt( _judyarray, ( const unsigned char * ) _buff, 0 ) ) ? false : true );
|
||||
}
|
||||
};
|
||||
#endif //JUDYSARRAY_H
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user