]> OCCT Git - occt-copy.git/commit
0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of... CR31481_2
authorabv <abv@opencascade.com>
Wed, 1 Apr 2020 22:21:08 +0000 (01:21 +0300)
committerskl <skl@opencascade.com>
Thu, 31 Dec 2020 08:17:18 +0000 (11:17 +0300)
commit2ae91a436f657c3f32c7d4f0e901cd34e3ab17d2
tree1d329a9c3c8092dc3690dacfac981b4f532bc9a5
parent894133a5addcd49ac84a17a7fe386cf007a21206
0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities

Integration of ExpToCas tool ported to modern state of OCCT:
- new package Express and toolkit TKExpress for EXPRESS data structures and OCCT class generator
- executable ExpToCasExe including lax/yacc parsers, for parsing a Part 21 file and generating classes

Off-topic: genproj.tcl is improved to
- deal correctly with FILES files containing CRLF end-of-lines
- generate one project per executable unit (instead of one project per cxx file); note that this matches behaviour of CMake generator

Formatting added files from package Express following OCCT Coding Rules

Changes for correspondence generated files to OCCT Code Rules.

Add generation hxx files with declaration of arrays.
If field is a HArray1 method for get length of array and method for get element of array by its index are generated.

Changes for generation parser from Lex and YACC files.

Update description file readme.txt
69 files changed:
adm/MODULES
adm/UDLIST
adm/genproj.tcl
src/ExpToCasExe/CMakeLists.txt [new file with mode: 0644]
src/ExpToCasExe/EXTERNLIB [new file with mode: 0644]
src/ExpToCasExe/ExpToCasExe.cxx [new file with mode: 0644]
src/ExpToCasExe/FILES [new file with mode: 0644]
src/ExpToCasExe/FlexLexer.h [new file with mode: 0644]
src/ExpToCasExe/exptocas.lex [new file with mode: 0644]
src/ExpToCasExe/exptocas.tab.cxx [new file with mode: 0644]
src/ExpToCasExe/exptocas.tab.hxx [new file with mode: 0644]
src/ExpToCasExe/exptocas.yacc [new file with mode: 0644]
src/ExpToCasExe/lex.exptocas.cxx [new file with mode: 0644]
src/ExpToCasExe/occt_existed_step_entities.lst [new file with mode: 0644]
src/ExpToCasExe/readme.txt [new file with mode: 0644]
src/Express/Express.cxx [new file with mode: 0644]
src/Express/Express.hxx [new file with mode: 0644]
src/Express/Express_Alias.cxx [new file with mode: 0644]
src/Express/Express_Alias.hxx [new file with mode: 0644]
src/Express/Express_Array.hxx [new file with mode: 0644]
src/Express/Express_Bag.hxx [new file with mode: 0644]
src/Express/Express_Boolean.cxx [new file with mode: 0644]
src/Express/Express_Boolean.hxx [new file with mode: 0644]
src/Express/Express_ComplexType.cxx [new file with mode: 0644]
src/Express/Express_ComplexType.hxx [new file with mode: 0644]
src/Express/Express_DataMapOfAsciiStringItem.hxx [new file with mode: 0644]
src/Express/Express_Entity.cxx [new file with mode: 0644]
src/Express/Express_Entity.hxx [new file with mode: 0644]
src/Express/Express_Enum.cxx [new file with mode: 0644]
src/Express/Express_Enum.hxx [new file with mode: 0644]
src/Express/Express_Field.cxx [new file with mode: 0644]
src/Express/Express_Field.hxx [new file with mode: 0644]
src/Express/Express_HSequenceOfEntity.hxx [new file with mode: 0644]
src/Express/Express_HSequenceOfField.hxx [new file with mode: 0644]
src/Express/Express_HSequenceOfItem.hxx [new file with mode: 0644]
src/Express/Express_Integer.cxx [new file with mode: 0644]
src/Express/Express_Integer.hxx [new file with mode: 0644]
src/Express/Express_Item.cxx [new file with mode: 0644]
src/Express/Express_Item.hxx [new file with mode: 0644]
src/Express/Express_List.hxx [new file with mode: 0644]
src/Express/Express_Logical.cxx [new file with mode: 0644]
src/Express/Express_Logical.hxx [new file with mode: 0644]
src/Express/Express_NamedType.cxx [new file with mode: 0644]
src/Express/Express_NamedType.hxx [new file with mode: 0644]
src/Express/Express_Number.hxx [new file with mode: 0644]
src/Express/Express_PredefinedType.cxx [new file with mode: 0644]
src/Express/Express_PredefinedType.hxx [new file with mode: 0644]
src/Express/Express_Real.cxx [new file with mode: 0644]
src/Express/Express_Real.hxx [new file with mode: 0644]
src/Express/Express_Reference.cxx [new file with mode: 0644]
src/Express/Express_Reference.hxx [new file with mode: 0644]
src/Express/Express_Schema.cxx [new file with mode: 0644]
src/Express/Express_Schema.hxx [new file with mode: 0644]
src/Express/Express_Select.cxx [new file with mode: 0644]
src/Express/Express_Select.hxx [new file with mode: 0644]
src/Express/Express_SequenceOfEntity.hxx [new file with mode: 0644]
src/Express/Express_SequenceOfField.hxx [new file with mode: 0644]
src/Express/Express_SequenceOfItem.hxx [new file with mode: 0644]
src/Express/Express_Set.hxx [new file with mode: 0644]
src/Express/Express_String.cxx [new file with mode: 0644]
src/Express/Express_String.hxx [new file with mode: 0644]
src/Express/Express_Type.cxx [new file with mode: 0644]
src/Express/Express_Type.hxx [new file with mode: 0644]
src/Express/FILES [new file with mode: 0644]
src/OS/DataExchange.tcl
src/TKExpress/CMakeLists.txt [new file with mode: 0644]
src/TKExpress/EXTERNLIB [new file with mode: 0644]
src/TKExpress/FILES [new file with mode: 0644]
src/TKExpress/PACKAGES [new file with mode: 0644]