]> OCCT Git - occt.git/commitdiff
0033378: Configuration - Moving ExpToCas into separate module
authordpasukhi <dpasukhi@opencascade.com>
Mon, 15 May 2023 07:11:45 +0000 (08:11 +0100)
committervglukhik <vglukhik@opencascade.com>
Thu, 18 May 2023 21:48:02 +0000 (22:48 +0100)
Moved ExpToCasExe and its DLL to new module - DETools
Created new module - DETools to keep tools to DE
Changed definition of main of ExpToCasExe to not const parameter
FlexLexer.h moved to general location into TKernel

28 files changed:
CMakeLists.txt
adm/MODULES
adm/cmake/occt_toolkit.cmake
adm/cmake/vardescr.cmake
adm/scripts/android_build.bat
adm/scripts/android_custom.bat.template
adm/scripts/cmake_custom.bat.template
adm/scripts/cmake_custom.sh.template
adm/scripts/cmake_gen.bat
adm/scripts/cmake_gen.sh
adm/scripts/ios_build.sh
adm/scripts/ios_custom.sh.template
adm/scripts/macos_build.sh
adm/scripts/macos_custom.sh.template
adm/scripts/mingw_build.bat
adm/scripts/mingw_custom.bat.template
adm/scripts/wasm_build.bat
adm/scripts/wasm_build.sh
adm/scripts/wasm_custom.bat.template
adm/scripts/wasm_custom.sh.template
src/ExpToCasExe/ExpToCasExe.cxx
src/ExpToCasExe/FlexLexer.h [deleted file]
src/FlexLexer/FILES [new file with mode: 0644]
src/FlexLexer/FlexLexer.h [new file with mode: 0644]
src/OS/DataExchange.tcl
src/StepFile/FILES
src/StepFile/FlexLexer.h [deleted file]
src/TKernel/PACKAGES

index fd17283f775dc1701c5e650e92635bf1e73a7ff8..1bacca1a482fda47f303f068b55f01a011b66b76 100644 (file)
@@ -820,12 +820,6 @@ else()
   OCCT_CHECK_AND_UNSET ("3RDPARTY_DOT_EXECUTABLE")
 endif()
 
-# ExpToCasExe
-if (EMSCRIPTEN)
-  list (REMOVE_ITEM BUILD_TOOLKITS TKExpress)
-  list (REMOVE_ITEM BUILD_TOOLKITS ExpToCasExe)
-endif()
-
 # bison
 if (BUILD_YACCLEX)
   OCCT_INCLUDE_CMAKE_FILE ("adm/cmake/bison")
index f471f8dc8d9013284b6f04a43b1e6ab0543e246c..235c30595dfd2d6ac88e39999f7b5c84742eaa94 100644 (file)
@@ -3,5 +3,6 @@ ModelingData TKG2d TKG3d TKGeomBase TKBRep
 ModelingAlgorithms TKGeomAlgo TKTopAlgo TKPrim TKBO TKBool TKHLR TKFillet TKOffset TKFeat TKMesh TKXMesh TKShHealing
 Visualization TKService TKV3d TKOpenGl TKOpenGles TKMeshVS TKIVtk TKD3DHost
 ApplicationFramework TKCDF TKLCAF TKCAF TKBinL TKXmlL TKBin TKXml TKStdL TKStd TKTObj TKBinTObj TKXmlTObj TKVCAF
-DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade TKExpress ExpToCasExe
+DataExchange TKXDE TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES TKXCAF TKXDEIGES TKXDESTEP TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKXDECascade
 Draw TKDraw TKTopTest TKOpenGlTest TKOpenGlesTest TKD3DHostTest TKViewerTest TKXSDRAW TKDCAF TKXDEDRAW TKTObjDRAW TKQADraw TKIVtkDraw DRAWEXE
+DETools TKExpress ExpToCasExe
index 61f195f82f4e5d7ca1a329f452df8c80d9b41c6c..c9399159f1f4c4e1ff1407d88451cecb2c665e85 100644 (file)
@@ -70,6 +70,16 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
     OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]lex" SOURCE_FILES_FLEX)
     list (LENGTH SOURCE_FILES_FLEX SOURCE_FILES_FLEX_LEN)
 
+    # remove old general version of FlexLexer
+    if (EXISTS ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
+      message (STATUS "Info: remove old FLEX header file: ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h")
+      file(REMOVE ${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h)
+    endif()
+    # install copy of FlexLexer.h locally to allow further building without flex
+    if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
+      configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${CMAKE_SOURCE_DIR}/${RELATIVE_SOURCES_DIR}/FlexLexer/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
+    endif()
+
     # bison files
     OCCT_ORIGIN_AND_PATCHED_FILES ("${RELATIVE_SOURCES_DIR}/${OCCT_PACKAGE}" "*[.]yacc" SOURCE_FILES_BISON)
     list (LENGTH SOURCE_FILES_BISON SOURCE_FILES_BISON_LEN)
@@ -107,21 +117,11 @@ foreach (OCCT_PACKAGE ${USED_PACKAGES})
             endif()
           endforeach()
 
-          if (EXISTS ${FLEX_BISON_TARGET_DIR}/FlexLexer.h)
-            message (STATUS "Info: remove old FLEX header file: ${FLEX_BISON_TARGET_DIR}/FlexLexer.h")
-            file(REMOVE ${FLEX_BISON_TARGET_DIR}/FlexLexer.h)
-          endif()
-
           file (STRINGS "${CURRENT_FLEX_FILE}" FILE_FLEX_CONTENT)
           foreach (FILE_FLEX_CONTENT_LINE ${FILE_FLEX_CONTENT})
             string (REGEX MATCH "%option c\\+\\+" CXX_FLEX_LANGUAGE_FOUND ${FILE_FLEX_CONTENT_LINE})
             if (CXX_FLEX_LANGUAGE_FOUND)
               set (FLEX_OUTPUT_FILE_EXT "cxx")
-
-              # install copy of FlexLexer.h locally to allow further building without flex
-              if (FLEX_INCLUDE_DIR AND EXISTS "${FLEX_INCLUDE_DIR}/FlexLexer.h")
-                configure_file("${FLEX_INCLUDE_DIR}/FlexLexer.h" "${FLEX_BISON_TARGET_DIR}/FlexLexer.h" @ONLY NEWLINE_STYLE LF)
-              endif()
             endif()
           endforeach()
           set (BISON_OUTPUT_FILE ${CURRENT_BISON_FILE_NAME}.tab.${BISON_OUTPUT_FILE_EXT})
index 8212a0308be9c8b0f29d70101622059531bd7c8b..1d7631b7dd7b91678d1ea16d64ce64f63811a8d4 100644 (file)
@@ -116,6 +116,7 @@ endmacro()
 
 BUILD_MODULE_MESSAGE (BUILD_MODULE_ApplicationFramework "ApplicationFramework")
 BUILD_MODULE_MESSAGE (BUILD_MODULE_DataExchange         "DataExchange")
+BUILD_MODULE_MESSAGE (BUILD_MODULE_DETools              "DETools")
 BUILD_MODULE_MESSAGE (BUILD_MODULE_Draw                 "Draw")
 BUILD_MODULE_MESSAGE (BUILD_MODULE_FoundationClasses    "FoundationClasses")
 BUILD_MODULE_MESSAGE (BUILD_MODULE_ModelingAlgorithms   "ModelingAlgorithms")
index ce1aa67bd28a568d22e701a39590f9029fc8dab4..247d23cde7633e1e7041d564cdf501423ee7b8c9 100644 (file)
@@ -33,6 +33,7 @@ set "BUILD_ModelingAlgorithms=ON"
 set "BUILD_Visualization=ON"
 set "BUILD_ApplicationFramework=ON"
 set "BUILD_DataExchange=ON"
+set "BUILD_DETools=OFF"
 
 rem Optional 3rd-party libraries to enable
 set "USE_FREETYPE=ON"
@@ -166,6 +167,7 @@ if ["%toCMake%"] == ["1"] (
  -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
  -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
  -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
+ -D BUILD_MODULE_DETools:BOOL="OFF" ^
  -D BUILD_MODULE_Draw:BOOL="OFF" ^
  -D BUILD_DOC_Overview:BOOL="OFF" ^
  -D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
index 45881c6d407c0c550e062060997a6a973164ff54..9c1bd7beabb5d13a57c081f93335ba923242df5d 100644 (file)
@@ -27,6 +27,7 @@ rem set "BUILD_ModelingAlgorithms=ON"
 rem set "BUILD_Visualization=ON"
 rem set "BUILD_ApplicationFramework=ON"
 rem set "BUILD_DataExchange=ON"
+rem set "BUILD_MODULE_DETools=OFF"
 
 rem Optional 3rd-party libraries to enable
 rem set "USE_RAPIDJSON=ON"
index eabc8290b0bc1c6be47dfd06fcf985bce6ecfa26..f2bbe81343f690d10638a5b8db2f0e9420c5112e 100644 (file)
@@ -33,6 +33,7 @@ rem set BUILD_PATCH=
 
 rem set BUILD_MODULE_ApplicationFramework=ON
 rem set BUILD_MODULE_DataExchange=ON
+rem set BUILD_MODULE_DETools=OFF
 rem set BUILD_MODULE_Draw=ON
 rem set BUILD_MODULE_ModelingAlgorithms=ON
 rem set BUILD_MODULE_ModelingData=ON
index 6ed63c7f13b27141cd5fb328199d84de9572e9cf..e6e265df4d1b93b22ebf2aaf2776e2253107264e 100644 (file)
@@ -26,6 +26,7 @@ FREETYPE_DIR="$OCCT3RDPARTY/freetype-2.7.1"
 
 #BUILD_MODULE_ApplicationFramework=ON
 #BUILD_MODULE_DataExchange=ON
+#BUILD_MODULE_DETools=OFF
 #BUILD_MODULE_Draw=ON
 #BUILD_MODULE_ModelingAlgorithms=ON
 #BUILD_MODULE_ModelingData=ON
index f60e47b12982f003e441c40f67144582827262f5..80f9600c628c4c4e3ee5f47ff39415881da54e8f 100644 (file)
@@ -28,6 +28,7 @@ set BUILD_FORCE_RelWithDebInfo=OFF
 
 set BUILD_MODULE_ApplicationFramework=ON
 set BUILD_MODULE_DataExchange=ON
+set BUILD_MODULE_DETools=OFF
 set BUILD_MODULE_Draw=ON
 set BUILD_MODULE_ModelingAlgorithms=ON
 set BUILD_MODULE_ModelingData=ON
@@ -62,6 +63,7 @@ cmake -G "%arch_compile%" ^
   -D BUILD_LIBRARY_TYPE:STRING=%BUILD_LIBRARY_TYPE% ^
   -D BUILD_MODULE_ApplicationFramework:BOOL=%BUILD_MODULE_ApplicationFramework% ^
   -D BUILD_MODULE_DataExchange:BOOL=%BUILD_MODULE_DataExchange% ^
+  -D BUILD_MODULE_DETools:BOOL=%BUILD_MODULE_DETools% ^
   -D BUILD_MODULE_Draw:BOOL=%BUILD_MODULE_Draw% ^
   -D BUILD_MODULE_FoundationClasses:BOOL=ON ^
   -D BUILD_MODULE_ModelingAlgorithms:BOOL=%BUILD_MODULE_ModelingAlgorithms% ^
index 9c088715d2d6b26156f05d19dfb3577dfa95830f..feef7a07db796b0997608c9fae886cbb1c37ec8e 100755 (executable)
@@ -31,6 +31,7 @@ BUILD_ENABLE_FPE_SIGNAL_HANDLER=ON
 
 BUILD_MODULE_ApplicationFramework=ON
 BUILD_MODULE_DataExchange=ON
+BUILD_MODULE_DETools=OFF
 BUILD_MODULE_Draw=ON
 BUILD_MODULE_ModelingAlgorithms=ON
 BUILD_MODULE_ModelingData=ON
@@ -63,6 +64,7 @@ cmake -G "Unix Makefiles" \
   -D BUILD_LIBRARY_TYPE:STRING=$BUILD_LIBRARY_TYPE \
   -D BUILD_MODULE_ApplicationFramework:BOOL=$BUILD_MODULE_ApplicationFramework \
   -D BUILD_MODULE_DataExchange:BOOL=$BUILD_MODULE_DataExchange \
+  -D BUILD_MODULE_DETools:BOOL=$BUILD_MODULE_DETools \
   -D BUILD_MODULE_Draw:BOOL=$BUILD_MODULE_Draw \
   -D BUILD_MODULE_FoundationClasses:BOOL=ON \
   -D BUILD_MODULE_ModelingAlgorithms:BOOL=$BUILD_MODULE_ModelingAlgorithms \
index ff222519a2a2d10d5915c2465da38a2f75c65435..b9ada581b53a5eb42233d414054fd49c028743b1 100755 (executable)
@@ -34,6 +34,7 @@ export BUILD_ModelingAlgorithms=ON
 export BUILD_Visualization=ON
 export BUILD_ApplicationFramework=ON
 export BUILD_DataExchange=ON
+export BUILD_DETools=OFF
 
 export USE_FREETYPE=ON
 export USE_FREEIMAGE=OFF
@@ -148,6 +149,7 @@ function buildArch {
   -D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
   -D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
   -D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+  -D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
   -D BUILD_MODULE_Draw:BOOL="OFF" \
   -D BUILD_DOC_Overview:BOOL="OFF" \
     "$aCasSrc" 2>&1 | tee -a "$aLogFile"
index c54624ebf6966129951b836811041a632a72678f..4d4d13b485cc639d3c5da91ae47a35fcea7f6ff2 100644 (file)
@@ -20,6 +20,7 @@ export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-ios"
 #export BUILD_Visualization=ON
 #export BUILD_ApplicationFramework=ON
 #export BUILD_DataExchange=ON
+#export BUILD_DETools=OFF
 
 #export USE_RAPIDJSON=ON
 #export USE_DRACO=ON
index b44fb1bec549635d00a3aa75d5596856d58505b9..4cdaa8bddcf714459c08b70570e01ec6cb1e1e51 100755 (executable)
@@ -34,6 +34,7 @@ export BUILD_ModelingAlgorithms=ON
 export BUILD_Visualization=ON
 export BUILD_ApplicationFramework=ON
 export BUILD_DataExchange=ON
+export BUILD_DETools=OFF
 export BUILD_Draw=ON
 
 export USE_FREETYPE=ON
@@ -145,6 +146,7 @@ function buildArch {
   -D BUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
   -D BUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
   -D BUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+  -D BUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
   -D BUILD_MODULE_Draw:BOOL="${BUILD_Draw}" \
   -D BUILD_DOC_Overview:BOOL="OFF" \
     "$aCasSrc" 2>&1 | tee -a "$aLogFile"
index 740c24f640fbefd550e8a115cb4a8e3bcdbee2a5..637277aa910700a0a8328dbb6fb1a2eb811053b7 100644 (file)
@@ -19,6 +19,7 @@ export aDraco="$aSrcRoot/../3rdparty/draco-1.4.1-macos"
 #export BUILD_Visualization=ON
 #export BUILD_ApplicationFramework=ON
 #export BUILD_DataExchange=ON
+#export BUILD_DETools=OFF
 #export BUILD_Draw=ON
 
 #export USE_RAPIDJSON=ON
index d66d339e5ea6c501c6d1fac0ef7d308c16bd57a6..27e33625fae6501805f4487fd4087601f42bb625 100644 (file)
@@ -32,6 +32,7 @@ set "BUILD_ModelingAlgorithms=ON"
 set "BUILD_Visualization=ON"
 set "BUILD_ApplicationFramework=ON"
 set "BUILD_DataExchange=ON"
+set "BUILD_DETools=OFF"
 set "BUILD_Draw=ON"
 
 rem Optional 3rd-party libraries to enable
@@ -155,6 +156,7 @@ if ["%toCMake%"] == ["1"] (
  -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
  -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
  -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
+ -D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
  -D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
  -D 3RDPARTY_TCL_DIR:PATH="%aTclTk%" ^
  -D 3RDPARTY_TCL_INCLUDE_DIR:FILEPATH="%aTclTk%/include" ^
index 0a7f6c675034ffc5ddfeec8b1d8749393507e496..67a5f5471fafcbe02dd9b4e2b99eb0ef10140c36 100644 (file)
@@ -22,6 +22,7 @@ rem set "BUILD_ModelingAlgorithms=ON"
 rem set "BUILD_Visualization=ON"
 rem set "BUILD_ApplicationFramework=ON"
 rem set "BUILD_DataExchange=ON"
+rem set "BUILD_DETools=OFF"
 rem set "BUILD_Draw=ON"
 
 rem set "USE_RAPIDJSON=ON"
index 4ef9a61f73b94ade4080370307b119df467b145b..7495b8079bb6b2c2cc2b1b71dfb67ce22eff7f01 100644 (file)
@@ -32,6 +32,7 @@ set "BUILD_ModelingAlgorithms=ON"
 set "BUILD_Visualization=ON"
 set "BUILD_ApplicationFramework=ON"
 set "BUILD_DataExchange=ON"
+set "BUILD_DETools=OFF"
 set "BUILD_Draw=OFF"
 
 rem Optional 3rd-party libraries to enable
@@ -175,6 +176,7 @@ if ["%toCMake%"] == ["1"] (
  -D BUILD_MODULE_Visualization:BOOL="%BUILD_Visualization%" ^
  -D BUILD_MODULE_ApplicationFramework:BOOL="%BUILD_ApplicationFramework%" ^
  -D BUILD_MODULE_DataExchange:BOOL="%BUILD_DataExchange%" ^
+ -D BUILD_MODULE_DETools:BOOL="%BUILD_DETools%" ^
  -D BUILD_MODULE_Draw:BOOL="%BUILD_Draw%" ^
  -D BUILD_DOC_Overview:BOOL="OFF" ^
  -D USE_FREETYPE:BOOL="%USE_FREETYPE%" ^
index b02a3080c1853494444b902c24fa544a2e4b9219..b4f123da7e6609ebea86c0c9a3886ae5f9b562ce 100755 (executable)
@@ -20,6 +20,7 @@ export BUILD_ModelingAlgorithms=ON
 export BUILD_Visualization=ON
 export BUILD_ApplicationFramework=ON
 export BUILD_DataExchange=ON
+export BUILD_DETools=OFF
 
 if [ -f "${aScriptDir}/wasm_custom.sh" ] ; then
   . "${aScriptDir}/wasm_custom.sh"
@@ -74,6 +75,7 @@ echo cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
 -DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
 -DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
 -DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
 -DBUILD_MODULE_Draw:BOOL="OFF" \
 -DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
 
@@ -92,6 +94,7 @@ cmake -G "Unix Makefiles" -DCMAKE_TOOLCHAIN_FILE:FILEPATH="${aToolchain}" \
 -DBUILD_MODULE_Visualization:BOOL="${BUILD_Visualization}" \
 -DBUILD_MODULE_ApplicationFramework:BOOL="${BUILD_ApplicationFramework}" \
 -DBUILD_MODULE_DataExchange:BOOL="${BUILD_DataExchange}" \
+-DBUILD_MODULE_DETools:BOOL="${BUILD_DETools}" \
 -DBUILD_MODULE_Draw:BOOL="OFF" \
 -DBUILD_DOC_Overview:BOOL="OFF" "${aSrcRoot}"
 
index 0c52467a6a227b4cf2c787f7b5c11a503ed1e335..91907c7738a79d385f67c7e76d889ead4df8468d 100644 (file)
@@ -23,6 +23,7 @@ rem set "BUILD_ModelingAlgorithms=ON"
 rem set "BUILD_Visualization=ON"
 rem set "BUILD_ApplicationFramework=ON"
 rem set "BUILD_DataExchange=ON"
+rem set "BUILD_DETools=OFF"
 
 rem set "USE_RAPIDJSON=ON"
 rem set "USE_DRACO=ON"
index 29157c92c7fad55d94af3573463f1569344e3094..dd3d6c7fe39d3ebf3d3c1fdec92e4669af63dd95 100644 (file)
@@ -14,3 +14,4 @@ export EMSDK_ROOT="$aSrcRoot/../emsdk"
 #export BUILD_Visualization=ON
 #export BUILD_ApplicationFramework=ON
 #export BUILD_DataExchange=ON
+#export BUILD_DETools=OFF
index c0b25eeab1e46d20af00788a9e93c0c4a29f60f3..1f0ce0ae568b86f64dd80d3c896fdc7d400bdd30 100644 (file)
@@ -281,7 +281,7 @@ static Standard_Boolean LoadList (const char *theFileName,
 // function : main
 // purpose  :
 //=======================================================================
-Standard_Integer main (const Standard_Integer argc, const char* argv[])
+int main (int argc, char* argv[])
 {
   if (argc < 2)
   {
diff --git a/src/ExpToCasExe/FlexLexer.h b/src/ExpToCasExe/FlexLexer.h
deleted file mode 100644 (file)
index c4dad2b..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-// -*-C++-*-
-// FlexLexer.h -- define interfaces for lexical analyzer classes generated
-// by flex
-
-// Copyright (c) 1993 The Regents of the University of California.
-// All rights reserved.
-//
-// This code is derived from software contributed to Berkeley by
-// Kent Williams and Tom Epperly.
-//
-//  Redistribution and use in source and binary forms, with or without
-//  modification, are permitted provided that the following conditions
-//  are met:
-
-//  1. Redistributions of source code must retain the above copyright
-//  notice, this list of conditions and the following disclaimer.
-//  2. 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.
-
-//  Neither the name of the University nor the names of its contributors
-//  may be used to endorse or promote products derived from this software
-//  without specific prior written permission.
-
-//  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-//  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-//  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-//  PURPOSE.
-
-// This file defines FlexLexer, an abstract class which specifies the
-// external interface provided to flex C++ lexer objects, and yyFlexLexer,
-// which defines a particular lexer class.
-//
-// If you want to create multiple lexer classes, you use the -P flag
-// to rename each yyFlexLexer to some other xxFlexLexer.  You then
-// include <FlexLexer.h> in your other sources once per lexer class:
-//
-//      #undef yyFlexLexer
-//      #define yyFlexLexer xxFlexLexer
-//      #include <FlexLexer.h>
-//
-//      #undef yyFlexLexer
-//      #define yyFlexLexer zzFlexLexer
-//      #include <FlexLexer.h>
-//      ...
-
-#ifndef __FLEX_LEXER_H
-// Never included before - need to define base class.
-#define __FLEX_LEXER_H
-
-#include <iostream>
-
-extern "C++" {
-
-struct yy_buffer_state;
-typedef int yy_state_type;
-
-class FlexLexer
-{
-public:
-  virtual ~FlexLexer()        { }
-
-  const char* YYText() const  { return yytext; }
-  int YYLeng()        const   { return yyleng; }
-
-  virtual void
-  yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0;
-  virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0;
-  virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0;
-  virtual void yy_delete_buffer( yy_buffer_state* b ) = 0;
-  virtual void yyrestart( std::istream* s ) = 0;
-  virtual void yyrestart( std::istream& s ) = 0;
-
-  virtual int yylex() = 0;
-
-  // Call yylex with new input/output sources.
-  int yylex( std::istream& new_in, std::ostream& new_out )
-  {
-    switch_streams( new_in, new_out );
-    return yylex();
-  }
-
-  int yylex( std::istream* new_in, std::ostream* new_out = 0)
-  {
-    switch_streams( new_in, new_out );
-    return yylex();
-  }
-
-  // Switch to new input/output streams.  A nil stream pointer
-  // indicates "keep the current one".
-  virtual void switch_streams( std::istream* new_in,
-                               std::ostream* new_out ) = 0;
-  virtual void switch_streams( std::istream& new_in,
-                               std::ostream& new_out ) = 0;
-
-  int lineno() const          { return yylineno; }
-
-  int debug() const           { return yy_flex_debug; }
-  void set_debug( int flag )  { yy_flex_debug = flag; }
-
-protected:
-  char* yytext;
-  int yyleng;
-  int yylineno;       // only maintained if you use %option yylineno
-  int yy_flex_debug;  // only has effect with -d or "%option debug"
-};
-
-}
-#endif // FLEXLEXER_H
-
-#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
-// Either this is the first time through (yyFlexLexerOnce not defined),
-// or this is a repeated include to define a different flavor of
-// yyFlexLexer, as discussed in the flex manual.
-# define yyFlexLexerOnce
-
-extern "C++" {
-
-class yyFlexLexer : public FlexLexer {
-public:
-  // arg_yyin and arg_yyout default to the cin and cout, but we
-  // only make that assignment when initializing in yylex().
-  yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout );
-  yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
-private:
-  void ctor_common();
-
-public:
-
-  virtual ~yyFlexLexer();
-
-  void yy_switch_to_buffer( yy_buffer_state* new_buffer );
-  yy_buffer_state* yy_create_buffer( std::istream* s, int size );
-  yy_buffer_state* yy_create_buffer( std::istream& s, int size );
-  void yy_delete_buffer( yy_buffer_state* b );
-  void yyrestart( std::istream* s );
-  void yyrestart( std::istream& s );
-
-  void yypush_buffer_state( yy_buffer_state* new_buffer );
-  void yypop_buffer_state();
-
-  virtual int yylex();
-  virtual void switch_streams( std::istream& new_in, std::ostream& new_out );
-  virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 );
-  virtual int yywrap();
-
-protected:
-  virtual int LexerInput( char* buf, int max_size );
-  virtual void LexerOutput( const char* buf, int size );
-  virtual void LexerError( const char* msg );
-
-  void yyunput( int c, char* buf_ptr );
-  int yyinput();
-
-  void yy_load_buffer_state();
-  void yy_init_buffer( yy_buffer_state* b, std::istream& s );
-  void yy_flush_buffer( yy_buffer_state* b );
-
-  int yy_start_stack_ptr;
-  int yy_start_stack_depth;
-  int* yy_start_stack;
-
-  void yy_push_state( int new_state );
-  void yy_pop_state();
-  int yy_top_state();
-
-  yy_state_type yy_get_previous_state();
-  yy_state_type yy_try_NUL_trans( yy_state_type current_state );
-  int yy_get_next_buffer();
-
-  std::istream yyin;  // input source for default LexerInput
-  std::ostream yyout; // output sink for default LexerOutput
-
-  // yy_hold_char holds the character lost when yytext is formed.
-  char yy_hold_char;
-
-  // Number of characters read into yy_ch_buf.
-  int yy_n_chars;
-
-  // Points to current character in buffer.
-  char* yy_c_buf_p;
-
-  int yy_init;                // whether we need to initialize
-  int yy_start;               // start state number
-
-  // Flag which is used to allow yywrap()'s to do buffer switches
-  // instead of setting up a fresh yyin.  A bit of a hack ...
-  int yy_did_buffer_switch_on_eof;
-
-
-  size_t yy_buffer_stack_top; /**< index of top of stack. */
-  size_t yy_buffer_stack_max; /**< capacity of stack. */
-  yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
-  void yyensure_buffer_stack(void);
-
-  // The following are not always needed, but may be depending
-  // on use of certain flex features (like REJECT or yymore()).
-
-  yy_state_type yy_last_accepting_state;
-  char* yy_last_accepting_cpos;
-
-  yy_state_type* yy_state_buf;
-  yy_state_type* yy_state_ptr;
-
-  char* yy_full_match;
-  int* yy_full_state;
-  int yy_full_lp;
-
-  int yy_lp;
-  int yy_looking_for_trail_begin;
-
-  int yy_more_flag;
-  int yy_more_len;
-  int yy_more_offset;
-  int yy_prev_more_offset;
-};
-
-}
-
-#endif // yyFlexLexer || ! yyFlexLexerOnce
diff --git a/src/FlexLexer/FILES b/src/FlexLexer/FILES
new file mode 100644 (file)
index 0000000..254a004
--- /dev/null
@@ -0,0 +1 @@
+FlexLexer.h
diff --git a/src/FlexLexer/FlexLexer.h b/src/FlexLexer/FlexLexer.h
new file mode 100644 (file)
index 0000000..c4dad2b
--- /dev/null
@@ -0,0 +1,220 @@
+// -*-C++-*-
+// FlexLexer.h -- define interfaces for lexical analyzer classes generated
+// by flex
+
+// Copyright (c) 1993 The Regents of the University of California.
+// All rights reserved.
+//
+// This code is derived from software contributed to Berkeley by
+// Kent Williams and Tom Epperly.
+//
+//  Redistribution and use in source and binary forms, with or without
+//  modification, are permitted provided that the following conditions
+//  are met:
+
+//  1. Redistributions of source code must retain the above copyright
+//  notice, this list of conditions and the following disclaimer.
+//  2. 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.
+
+//  Neither the name of the University nor the names of its contributors
+//  may be used to endorse or promote products derived from this software
+//  without specific prior written permission.
+
+//  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
+//  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
+//  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
+//  PURPOSE.
+
+// This file defines FlexLexer, an abstract class which specifies the
+// external interface provided to flex C++ lexer objects, and yyFlexLexer,
+// which defines a particular lexer class.
+//
+// If you want to create multiple lexer classes, you use the -P flag
+// to rename each yyFlexLexer to some other xxFlexLexer.  You then
+// include <FlexLexer.h> in your other sources once per lexer class:
+//
+//      #undef yyFlexLexer
+//      #define yyFlexLexer xxFlexLexer
+//      #include <FlexLexer.h>
+//
+//      #undef yyFlexLexer
+//      #define yyFlexLexer zzFlexLexer
+//      #include <FlexLexer.h>
+//      ...
+
+#ifndef __FLEX_LEXER_H
+// Never included before - need to define base class.
+#define __FLEX_LEXER_H
+
+#include <iostream>
+
+extern "C++" {
+
+struct yy_buffer_state;
+typedef int yy_state_type;
+
+class FlexLexer
+{
+public:
+  virtual ~FlexLexer()        { }
+
+  const char* YYText() const  { return yytext; }
+  int YYLeng()        const   { return yyleng; }
+
+  virtual void
+  yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0;
+  virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0;
+  virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0;
+  virtual void yy_delete_buffer( yy_buffer_state* b ) = 0;
+  virtual void yyrestart( std::istream* s ) = 0;
+  virtual void yyrestart( std::istream& s ) = 0;
+
+  virtual int yylex() = 0;
+
+  // Call yylex with new input/output sources.
+  int yylex( std::istream& new_in, std::ostream& new_out )
+  {
+    switch_streams( new_in, new_out );
+    return yylex();
+  }
+
+  int yylex( std::istream* new_in, std::ostream* new_out = 0)
+  {
+    switch_streams( new_in, new_out );
+    return yylex();
+  }
+
+  // Switch to new input/output streams.  A nil stream pointer
+  // indicates "keep the current one".
+  virtual void switch_streams( std::istream* new_in,
+                               std::ostream* new_out ) = 0;
+  virtual void switch_streams( std::istream& new_in,
+                               std::ostream& new_out ) = 0;
+
+  int lineno() const          { return yylineno; }
+
+  int debug() const           { return yy_flex_debug; }
+  void set_debug( int flag )  { yy_flex_debug = flag; }
+
+protected:
+  char* yytext;
+  int yyleng;
+  int yylineno;       // only maintained if you use %option yylineno
+  int yy_flex_debug;  // only has effect with -d or "%option debug"
+};
+
+}
+#endif // FLEXLEXER_H
+
+#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
+// Either this is the first time through (yyFlexLexerOnce not defined),
+// or this is a repeated include to define a different flavor of
+// yyFlexLexer, as discussed in the flex manual.
+# define yyFlexLexerOnce
+
+extern "C++" {
+
+class yyFlexLexer : public FlexLexer {
+public:
+  // arg_yyin and arg_yyout default to the cin and cout, but we
+  // only make that assignment when initializing in yylex().
+  yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout );
+  yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
+private:
+  void ctor_common();
+
+public:
+
+  virtual ~yyFlexLexer();
+
+  void yy_switch_to_buffer( yy_buffer_state* new_buffer );
+  yy_buffer_state* yy_create_buffer( std::istream* s, int size );
+  yy_buffer_state* yy_create_buffer( std::istream& s, int size );
+  void yy_delete_buffer( yy_buffer_state* b );
+  void yyrestart( std::istream* s );
+  void yyrestart( std::istream& s );
+
+  void yypush_buffer_state( yy_buffer_state* new_buffer );
+  void yypop_buffer_state();
+
+  virtual int yylex();
+  virtual void switch_streams( std::istream& new_in, std::ostream& new_out );
+  virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 );
+  virtual int yywrap();
+
+protected:
+  virtual int LexerInput( char* buf, int max_size );
+  virtual void LexerOutput( const char* buf, int size );
+  virtual void LexerError( const char* msg );
+
+  void yyunput( int c, char* buf_ptr );
+  int yyinput();
+
+  void yy_load_buffer_state();
+  void yy_init_buffer( yy_buffer_state* b, std::istream& s );
+  void yy_flush_buffer( yy_buffer_state* b );
+
+  int yy_start_stack_ptr;
+  int yy_start_stack_depth;
+  int* yy_start_stack;
+
+  void yy_push_state( int new_state );
+  void yy_pop_state();
+  int yy_top_state();
+
+  yy_state_type yy_get_previous_state();
+  yy_state_type yy_try_NUL_trans( yy_state_type current_state );
+  int yy_get_next_buffer();
+
+  std::istream yyin;  // input source for default LexerInput
+  std::ostream yyout; // output sink for default LexerOutput
+
+  // yy_hold_char holds the character lost when yytext is formed.
+  char yy_hold_char;
+
+  // Number of characters read into yy_ch_buf.
+  int yy_n_chars;
+
+  // Points to current character in buffer.
+  char* yy_c_buf_p;
+
+  int yy_init;                // whether we need to initialize
+  int yy_start;               // start state number
+
+  // Flag which is used to allow yywrap()'s to do buffer switches
+  // instead of setting up a fresh yyin.  A bit of a hack ...
+  int yy_did_buffer_switch_on_eof;
+
+
+  size_t yy_buffer_stack_top; /**< index of top of stack. */
+  size_t yy_buffer_stack_max; /**< capacity of stack. */
+  yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
+  void yyensure_buffer_stack(void);
+
+  // The following are not always needed, but may be depending
+  // on use of certain flex features (like REJECT or yymore()).
+
+  yy_state_type yy_last_accepting_state;
+  char* yy_last_accepting_cpos;
+
+  yy_state_type* yy_state_buf;
+  yy_state_type* yy_state_ptr;
+
+  char* yy_full_match;
+  int* yy_full_state;
+  int yy_full_lp;
+
+  int yy_lp;
+  int yy_looking_for_trail_begin;
+
+  int yy_more_flag;
+  int yy_more_len;
+  int yy_more_offset;
+  int yy_prev_more_offset;
+};
+
+}
+
+#endif // yyFlexLexer || ! yyFlexLexerOnce
index cbb12e7d56c56b447d859c4da7996224430e67ee..3f3b5badc71e90910d2ee4bd84fdd2bb1c068982 100644 (file)
@@ -18,7 +18,7 @@ proc DataExchange:toolkits { } {
   return [list TKXSBase TKSTEPBase TKSTEPAttr TKSTEP209 TKSTEP TKIGES \
                TKXCAF TKXDEIGES TKXDESTEP \
                TKXDE TKXDECascade \
-               TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh TKExpress]
+               TKSTL TKVRML TKXmlXCAF TKBinXCAF TKRWMesh]
 }
 
 ;#
@@ -29,7 +29,6 @@ proc DataExchange:ressources { } {
            [list both r XSMessage {} ] \
            [list both r SHMessage {} ] \
            [list both r XSTEPResource {} ] \
-           [list both x ExpToCasExe {} ] \
            ]
 }
 ;#
index 733a836129b4e08ae62e1f5d73ce24bd6575d8b0..5c8fa85a09957d672959c7f6d8e4c86dbcfdb3c1 100755 (executable)
@@ -7,4 +7,3 @@ StepFile_Read.cxx
 StepFile_Read.hxx
 step.lex
 step.yacc
-FlexLexer.h
diff --git a/src/StepFile/FlexLexer.h b/src/StepFile/FlexLexer.h
deleted file mode 100644 (file)
index c4dad2b..0000000
+++ /dev/null
@@ -1,220 +0,0 @@
-// -*-C++-*-
-// FlexLexer.h -- define interfaces for lexical analyzer classes generated
-// by flex
-
-// Copyright (c) 1993 The Regents of the University of California.
-// All rights reserved.
-//
-// This code is derived from software contributed to Berkeley by
-// Kent Williams and Tom Epperly.
-//
-//  Redistribution and use in source and binary forms, with or without
-//  modification, are permitted provided that the following conditions
-//  are met:
-
-//  1. Redistributions of source code must retain the above copyright
-//  notice, this list of conditions and the following disclaimer.
-//  2. 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.
-
-//  Neither the name of the University nor the names of its contributors
-//  may be used to endorse or promote products derived from this software
-//  without specific prior written permission.
-
-//  THIS SOFTWARE IS PROVIDED ``AS IS'' AND WITHOUT ANY EXPRESS OR
-//  IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED
-//  WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR
-//  PURPOSE.
-
-// This file defines FlexLexer, an abstract class which specifies the
-// external interface provided to flex C++ lexer objects, and yyFlexLexer,
-// which defines a particular lexer class.
-//
-// If you want to create multiple lexer classes, you use the -P flag
-// to rename each yyFlexLexer to some other xxFlexLexer.  You then
-// include <FlexLexer.h> in your other sources once per lexer class:
-//
-//      #undef yyFlexLexer
-//      #define yyFlexLexer xxFlexLexer
-//      #include <FlexLexer.h>
-//
-//      #undef yyFlexLexer
-//      #define yyFlexLexer zzFlexLexer
-//      #include <FlexLexer.h>
-//      ...
-
-#ifndef __FLEX_LEXER_H
-// Never included before - need to define base class.
-#define __FLEX_LEXER_H
-
-#include <iostream>
-
-extern "C++" {
-
-struct yy_buffer_state;
-typedef int yy_state_type;
-
-class FlexLexer
-{
-public:
-  virtual ~FlexLexer()        { }
-
-  const char* YYText() const  { return yytext; }
-  int YYLeng()        const   { return yyleng; }
-
-  virtual void
-  yy_switch_to_buffer( yy_buffer_state* new_buffer ) = 0;
-  virtual yy_buffer_state* yy_create_buffer( std::istream* s, int size ) = 0;
-  virtual yy_buffer_state* yy_create_buffer( std::istream& s, int size ) = 0;
-  virtual void yy_delete_buffer( yy_buffer_state* b ) = 0;
-  virtual void yyrestart( std::istream* s ) = 0;
-  virtual void yyrestart( std::istream& s ) = 0;
-
-  virtual int yylex() = 0;
-
-  // Call yylex with new input/output sources.
-  int yylex( std::istream& new_in, std::ostream& new_out )
-  {
-    switch_streams( new_in, new_out );
-    return yylex();
-  }
-
-  int yylex( std::istream* new_in, std::ostream* new_out = 0)
-  {
-    switch_streams( new_in, new_out );
-    return yylex();
-  }
-
-  // Switch to new input/output streams.  A nil stream pointer
-  // indicates "keep the current one".
-  virtual void switch_streams( std::istream* new_in,
-                               std::ostream* new_out ) = 0;
-  virtual void switch_streams( std::istream& new_in,
-                               std::ostream& new_out ) = 0;
-
-  int lineno() const          { return yylineno; }
-
-  int debug() const           { return yy_flex_debug; }
-  void set_debug( int flag )  { yy_flex_debug = flag; }
-
-protected:
-  char* yytext;
-  int yyleng;
-  int yylineno;       // only maintained if you use %option yylineno
-  int yy_flex_debug;  // only has effect with -d or "%option debug"
-};
-
-}
-#endif // FLEXLEXER_H
-
-#if defined(yyFlexLexer) || ! defined(yyFlexLexerOnce)
-// Either this is the first time through (yyFlexLexerOnce not defined),
-// or this is a repeated include to define a different flavor of
-// yyFlexLexer, as discussed in the flex manual.
-# define yyFlexLexerOnce
-
-extern "C++" {
-
-class yyFlexLexer : public FlexLexer {
-public:
-  // arg_yyin and arg_yyout default to the cin and cout, but we
-  // only make that assignment when initializing in yylex().
-  yyFlexLexer( std::istream& arg_yyin, std::ostream& arg_yyout );
-  yyFlexLexer( std::istream* arg_yyin = 0, std::ostream* arg_yyout = 0 );
-private:
-  void ctor_common();
-
-public:
-
-  virtual ~yyFlexLexer();
-
-  void yy_switch_to_buffer( yy_buffer_state* new_buffer );
-  yy_buffer_state* yy_create_buffer( std::istream* s, int size );
-  yy_buffer_state* yy_create_buffer( std::istream& s, int size );
-  void yy_delete_buffer( yy_buffer_state* b );
-  void yyrestart( std::istream* s );
-  void yyrestart( std::istream& s );
-
-  void yypush_buffer_state( yy_buffer_state* new_buffer );
-  void yypop_buffer_state();
-
-  virtual int yylex();
-  virtual void switch_streams( std::istream& new_in, std::ostream& new_out );
-  virtual void switch_streams( std::istream* new_in = 0, std::ostream* new_out = 0 );
-  virtual int yywrap();
-
-protected:
-  virtual int LexerInput( char* buf, int max_size );
-  virtual void LexerOutput( const char* buf, int size );
-  virtual void LexerError( const char* msg );
-
-  void yyunput( int c, char* buf_ptr );
-  int yyinput();
-
-  void yy_load_buffer_state();
-  void yy_init_buffer( yy_buffer_state* b, std::istream& s );
-  void yy_flush_buffer( yy_buffer_state* b );
-
-  int yy_start_stack_ptr;
-  int yy_start_stack_depth;
-  int* yy_start_stack;
-
-  void yy_push_state( int new_state );
-  void yy_pop_state();
-  int yy_top_state();
-
-  yy_state_type yy_get_previous_state();
-  yy_state_type yy_try_NUL_trans( yy_state_type current_state );
-  int yy_get_next_buffer();
-
-  std::istream yyin;  // input source for default LexerInput
-  std::ostream yyout; // output sink for default LexerOutput
-
-  // yy_hold_char holds the character lost when yytext is formed.
-  char yy_hold_char;
-
-  // Number of characters read into yy_ch_buf.
-  int yy_n_chars;
-
-  // Points to current character in buffer.
-  char* yy_c_buf_p;
-
-  int yy_init;                // whether we need to initialize
-  int yy_start;               // start state number
-
-  // Flag which is used to allow yywrap()'s to do buffer switches
-  // instead of setting up a fresh yyin.  A bit of a hack ...
-  int yy_did_buffer_switch_on_eof;
-
-
-  size_t yy_buffer_stack_top; /**< index of top of stack. */
-  size_t yy_buffer_stack_max; /**< capacity of stack. */
-  yy_buffer_state ** yy_buffer_stack; /**< Stack as an array. */
-  void yyensure_buffer_stack(void);
-
-  // The following are not always needed, but may be depending
-  // on use of certain flex features (like REJECT or yymore()).
-
-  yy_state_type yy_last_accepting_state;
-  char* yy_last_accepting_cpos;
-
-  yy_state_type* yy_state_buf;
-  yy_state_type* yy_state_ptr;
-
-  char* yy_full_match;
-  int* yy_full_state;
-  int yy_full_lp;
-
-  int yy_lp;
-  int yy_looking_for_trail_begin;
-
-  int yy_more_flag;
-  int yy_more_len;
-  int yy_more_offset;
-  int yy_prev_more_offset;
-};
-
-}
-
-#endif // yyFlexLexer || ! yyFlexLexerOnce
index a10bf8d75daf0ab9977ca65410d4d6ff5269331c..ee92fa32b7131a1c7e9e822b18b36167e79ce03b 100755 (executable)
@@ -14,3 +14,4 @@ UnitsAPI
 UnitsMethods
 NCollection
 Message
+FlexLexer