View Issue Details

IDProjectCategoryView StatusLast Update
0031481Open CASCADEOCCT:Data Exchangepublic2023-03-19 23:01
ReporterabvAssigned Toabv 
PrioritynormalSeverityintegration request 
Status closedResolutionfixed 
Target Version7.7.0Fixed in Version7.7.0 
Summary0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
DescriptionExpToCas tool has been developed in 1999-2002 for generation of new classes in OCCT DE module, representing entities from STEP standard. It includes parser of EXPRESS schema and generator of CDL and CXX files that can be easily added to the OCCT STEP reader.

As new classes need to be added from time to time, it makes sense to integrate this tool to OCCT.
Steps To ReproduceNot possible
TagsNo tags attached.
Test case numberNot required

Relationships

related to 0031740 closedbugmaster Open CASCADE Configuration - recover support of Yacc and Lex generation 
related to 0033235 verifieddpasukhi Open CASCADE Configuration - Solving the problem with static building of ExpToCasExe 
parent of 0033142 closedvpozdyayev Open CASCADE Configuration, genproj - ExpToCasExe building fails with generated VS projects 

Activities

git

2020-04-02 01:20

administrator   ~0091399

Branch CR31481 has been created by abv.

SHA-1: 3ac2d4ca774dada5905dd8f6ed62aa8c95c285be


Detailed log of new commits:

Author: abv
Date: Thu Apr 2 01:21:08 2020 +0300

    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

abv

2020-04-02 01:22

manager   ~0091400

I have updated old ExpToCas tool to build with current OCCT, and put it as a branch in OCCT code. What remains is to update code generator to produce modern code (at minimum, generate HXX instead of CDL).

git

2020-04-02 09:44

administrator   ~0091402

Branch CR31481 has been updated forcibly by abv.

SHA-1: 88b6bbb93dcb927aae800b87a6a8219964c2f23e

git

2020-04-02 13:55

administrator   ~0091412

Branch CR31481 has been updated by abv.

SHA-1: 48609845416c2b4b8429a498121185b7d5bed2d3


Detailed log of new commits:

Author: abv
Date: Thu Apr 2 13:56:31 2020 +0300

    // add missing files

git

2020-04-16 19:01

administrator   ~0091601

Branch CR31481 has been updated forcibly by ika.

SHA-1: f089155a022993f29b4fdbd3a8b25b89d9f41055

git

2020-04-20 18:07

administrator   ~0091688

Branch CR31481 has been updated forcibly by ika.

SHA-1: 447a80ecb5edc2fd108b9070d57aa88c01f216a8

git

2020-04-23 19:05

administrator   ~0091747

Branch CR31481 has been updated forcibly by ika.

SHA-1: 8a3d9d3eba4006680342a06d42924e28a4024ae4

git

2020-04-29 19:27

administrator   ~0091877

Branch CR31481 has been updated forcibly by ika.

SHA-1: ea4ec0eda802a9a3b0489877f44c273d32fdcbed

git

2020-04-30 21:29

administrator   ~0091921

Branch CR31481 has been updated by abv.

SHA-1: fe21a380c78295bba59c7a92c533d89f014de5f1


Detailed log of new commits:

Author: abv
Date: Thu Apr 30 21:29:57 2020 +0300

    Fix parser to avoid loosing fields after redefinition of inherited field (SELF\field = type;)

git

2020-05-11 21:35

administrator   ~0092067

Branch CR31481 has been updated by Igor.

SHA-1: 0580c8b11a5e15778971ac4e915212e8eabdfb7d


Detailed log of new commits:

Author: Igor Khozhanov
Date: Mon May 11 21:27:50 2020 +0300

    Fixed casting pointer to int error.
    Fixed /**/ comment inside comment warnings.
    Fixed converting string constant to 'char*' warning.

git

2020-08-20 15:54

administrator   ~0093564

Branch CR31481 has been updated forcibly by ika.

SHA-1: 9d659909bb074a370da3229f848cb5d779a7a325

git

2020-08-26 18:27

administrator   ~0093648

Branch CR31481 has been updated forcibly by ika.

SHA-1: 260f1b2e2e7fb8b6a572b64b950fd0f48dcf81dd

git

2020-08-27 14:46

administrator   ~0093669

Branch CR31481 has been updated forcibly by ika.

SHA-1: b307021a3da5f55b8fe52bb8d99e74d0adeba84e

git

2020-08-27 19:06

administrator   ~0093672

Branch CR31481 has been updated forcibly by ika.

SHA-1: eb0dbd1c84f25b961ab3ad0985cac22ed61e51fe

git

2020-08-28 15:38

administrator   ~0093698

Branch CR31481 has been updated forcibly by ika.

SHA-1: 1f02cd5f2139446df96b07cae5cdd9018e638278

git

2020-08-28 15:58

administrator   ~0093699

Branch CR31481_1 has been created by ika.

SHA-1: 98831117a4bf4dd66dc2efbaed0734f8fb4567fc


Detailed log of new commits:

Author: abv
Date: Thu Apr 2 01:21:08 2020 +0300

    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

ika

2020-08-28 16:00

developer   ~0093700

Dear ABV,

could you please review the CR31481_1 branch?

kgv

2020-09-06 11:59

developer   ~0094166

It would be nice formatting added files following OCCT Coding Rules / cleaning up code from redundant empty lines.

+  std::ofstream os ( pack.Cat ( ".hxx" ).ToCString() );

Shouldn't it be OSD_OpenStream()?

+++ b/src/TKExpress/EXTERNLIB
@@ -0,0 +1,2 @@
+TKernel
+CSF_TBB

CSF_TBB is really necessary for this toolkit?

abv

2020-11-23 21:58

manager   ~0097016

This patch shall be updated before integration:
- rebase on master
- regenerate flex scanner and bison parser using relevant CMake option (see 0031740 and 0027342), version to be used is win_flex_bison 2.5.23 (flex 2.6.4, bison 3.7.1), available in \\master\projects\occt-3rdparty\occt700products\win_flex_bison-2.5.23
- revise executables in ExpToCasExe: ones which are useful shall be preserved and documented, others better be removed
- revise scripts and resource files in ExpToCasExe to keep only ones that are useful. Note that we definitely need to have resource file describing distribution of STEP entities by packages in OCCT.
- It should be checked where we can keep files with STEP Express schemas (they are probably copyrighted and may not be distributed).

git

2020-11-27 13:50

administrator   ~0097108

Branch CR31481_1 has been updated forcibly by skl.

SHA-1: 4854f142ab0d3a2daedf1ade762ceda02bd5a1b1

git

2020-11-30 11:35

administrator   ~0097153

Branch CR31481_1 has been updated by skl.

SHA-1: 9b1dc148be73cae6982dadc829581bc71f93e18b


Detailed log of new commits:

Author: skl
Date: Mon Nov 30 11:35:00 2020 +0300

    0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
    
    Changes for correspondence generated files to OCCT Code Rules.

git

2020-11-30 11:36

administrator   ~0097154

Branch CR31481_1 has been updated forcibly by skl.

SHA-1: 47d03fa5ebe82706506ecc76926e9443aa43f6e5

git

2020-11-30 15:33

administrator   ~0097172

Branch CR31481_1 has been updated by skl.

SHA-1: 7bc54d2e4eb535ada5b91eddf26380aadecbb1e2


Detailed log of new commits:

Author: skl
Date: Mon Nov 30 15:32:29 2020 +0300

    0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
    
    Next part of formatting added files following OCCT Coding Rules.

git

2020-12-01 11:41

administrator   ~0097192

Branch CR31481_1 has been updated by skl.

SHA-1: 423a0239983e67b20743753326d8787f73fd5aa1


Detailed log of new commits:

Author: skl
Date: Tue Dec 1 11:40:51 2020 +0300

    0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
    
    Next changes for correspondence generated files to OCCT Code Rules.

git

2020-12-02 10:36

administrator   ~0097232

Branch CR31481_1 has been updated by skl.

SHA-1: 44bb1c31502142599ecd1b88d37660671bbf2181


Detailed log of new commits:

Author: skl
Date: Wed Dec 2 10:36:38 2020 +0300

    0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
    
    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.

git

2020-12-07 12:15

administrator   ~0097407

Branch CR31481_1 has been updated forcibly by skl.

SHA-1: cdb5b7e24e24d5f7f2d98ab28b01603fdb7508f4

git

2020-12-10 15:18

administrator   ~0097467

Branch CR31481_1 has been updated by skl.

SHA-1: 0654738fd9c700da1309b21171547503b1aadeb4


Detailed log of new commits:

Author: skl
Date: Mon Dec 7 12:54:59 2020 +0300

    0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of new STEP entities
    
    Changes for Lex and YACC.

git

2020-12-24 16:24

administrator   ~0097890

Branch CR31481_2 has been created by skl.

SHA-1: 16accbc55984196c5a141854132776d2c0dbc6ca


Detailed log of new commits:

Author: abv
Date: Thu Apr 2 01:21:08 2020 +0300

    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

git

2020-12-28 10:24

administrator   ~0097957

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: d7397c85995845d12a4aae5817b295377475e8e8

git

2020-12-29 06:28

administrator   ~0097966

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: 64427e8767282aa349860a4dda62204010eeb98b

git

2020-12-29 08:34

administrator   ~0097968

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: 4421e59911a47f6bb1c5f8af9b8c45fafda19efa

git

2020-12-29 09:38

administrator   ~0097970

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: e738f18c5fa7a3cbe5629f96214a4ea080afe806

git

2020-12-29 10:53

administrator   ~0097971

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: efa4abef164854998bb51e033e1db33287c71c31

git

2020-12-29 11:28

administrator   ~0097972

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: f90dec7ff382db9f78d4202fe76bc08959fcff5b

git

2020-12-31 11:16

administrator   ~0097996

Branch CR31481_2 has been updated forcibly by skl.

SHA-1: 2ae91a436f657c3f32c7d4f0e901cd34e3ab17d2

skl

2020-12-31 16:25

developer   ~0098001

lex and yacc files are updated.

szy

2021-10-25 10:17

manager   ~0104847

Last edited: 2021-10-27 11:25

Irina,
Could you review this issue, please...

git

2021-10-27 21:21

administrator   ~0104920

Branch CR31481_3 has been created by ika.

SHA-1: ca9e82c5e5c38123e73db1d47b72389014ca952f


Detailed log of new commits:

Author: ika
Date: Wed Oct 27 21:20:30 2021 +0300

    # Rebase onto current master and fix misprints.

Author: abv
Date: Thu Apr 2 01:21:08 2020 +0300

    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

git

2021-10-28 16:41

administrator   ~0104942

Branch CR31481_3 has been updated forcibly by ika.

SHA-1: be7c47a85721b1d67fe41cb04ec897d499a8fb2e

ika

2021-10-28 17:02

developer   ~0104943

The branch was updated:
- rebase onto current master;
- fix some misprints;
- update list of existed STEP entities;
- update readme.txt;
- complied in Jenkins, no warnings or test regression is found;
- make some manual testing, new entities are created successfully.

What will be good to do more:

1) Move "Off-topic" to the separated issue

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

2) old KGV remarks:

It would be nice formatting added files following OCCT Coding Rules / cleaning up code from redundant empty lines.

+ std::ofstream os ( pack.Cat ( ".hxx" ).ToCString() );

Shouldn't it be OSD_OpenStream()?

The remark about TBB is done.

3) Also I'm not sure that hardcoding of the path delimiter as a "/" is the best approach:

+ // create a package directory (if not yet exist)
+ OSD_Protection prot(OSD_RX, OSD_RWX, OSD_RX, OSD_RX);
+ TCollection_AsciiString pack = GetPackageName()->String();
+ OSD_Path path(pack);
+ OSD_Directory dir(path);
+ dir.Build(prot);
+ pack += "/";
+ pack += CPPName()->String();
in several files.

4) Some problems with schema parser:

a) Upper case in schema name (for AP242ed2 "SCHEMA Ap242_managed_model_based_3d_engineering_mim_LF") leads to fail of parser. (Add a tip to readme.txt, because it is not clear from the error message, but it is not a good solution)
b) BINARY keyword also leads to failure.

kgv

2021-10-28 17:26

developer   ~0104945

>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

This should be pushed to dedicated issues.

+#ifdef _MSC_VER
+#pragma warning(push)
+#pragma warning (disable:4267)
+#pragma warning (disable:4706)
+#endif

Suppressing compiler warnings within the code should be complemented with details about these warnings and the reasons why they cannot be fixed.

+    name = s;
+    name[ind] = '\0';
+    Handle(Express_Item) item = schema->Item(name, Standard_True);
+    if (item.IsNull())

It is desired applying OCCT code style / name conventions to new code.

+  FILE *fin = fopen(argv[1], "rt");

OSD_FileSystem should be used instead of direct fopen().

+    std::cout << "Error: Cannot open " << argv[1] << std::endl;
+    return 0;

It is desired using messenger (e.g. Message::SendFail()) to colorize output of console tool and make it more readable.
Errors should also result in non-zero return code.

--- /dev/null
+++ b/src/ExpToCasExe/FILES
@@ -0,0 +1,7 @@
+exptocas.lex
+expltocas.yacc
+lex.exptocas.cxx
+exptocas.tab.hxx
+exptocas.tab.cxx
+ExpToCasExe.cxx

I have some doubts that "exptocas.tab.hxx" is expected to be a public header installed with OCCT SDK.
Consider renaming to .pxx.

--- /dev/null
+++ b/src/ExpToCasExe/occt_existed_step_entities.lst
@@ -0,0 +1,869 @@
+# Last update 27.10.2021
+#===============================================

It would be helpful to put a comment in the file if this file is automatically generated (how?) or manually filled.

--- /dev/null
+++ b/src/ExpToCasExe/readme.txt

I think that using Markdown syntax (ReadMe.md) would be preferred for this document.

+  END_ENTITY;  -- 10303-42: geometry_schema 
+
+
+
+

Redundant empty lines should be removed.

+  if (getenv("EXPTOCAS_TIME"))

OSD_Environment.

+  theOS << comm << " distribution for complete text of the license and disclaimer of any warranty." << std::endl;

std::endl looks awkward and unrelated here - please replace with \n.

+  theOS << comm << " Created by: " << aProcess.UserName().ToCString() << std::endl;
...
+  theOS << "//function : " << theName->ToCString() << std::endl;
...
+  std::cout << "ALIAS " << Name()->ToCString() << " = " << Type()->CPPName()->ToCString()

Redundant ToCString(); or could be replaced by String().

+  theOS << comm << " Copyright (c) Open CASCADE 2021" << std::endl;

As this function generates output, I guess it should be "2021-CurrentYear" (if this updates existing files) or "CurrentYear" (if this generates only new files) instead.

+  theOS << "//purpose  : " << std::endl;

Please do not generate trailing spaces.

+  Standard_EXPORT virtual   Handle(TCollection_HAsciiString) CPPName()  const Standard_OVERRIDE;

Unexpected spaces.

+  // create a package directory (if not yet exist)
+  OSD_Protection prot(OSD_RWXD, OSD_RWXD, OSD_RWXD, OSD_RWXD);

Using such file properties makes no sense.

+  std::ofstream os(pack.Cat(".hxx").ToCString());

OSD_FileSystem.

+ Standard_Boolean Express_Entity::AbstractFlag() const
+{
+  return myisAbstract;

Please inline.

+  Standard_EXPORT   Standard_Integer makeInit(
+    Standard_OStream& theOs,
+    const Standard_Integer theShift,
+    const Standard_Integer theOwn,
+    const Standard_Integer theMode)  const;
+
+  Handle(TColStd_HSequenceOfHAsciiString) mySupers;

Please put an extra "private:" separator between class fields and methods.

+DEFINE_HSEQUENCE(Express_HSequenceOfField, Express_SequenceOfField)

Couldn't NCollection_Shared used instead of a legacy collection generation macros?

+class Express_Item : public Standard_Transient
+{
+public:
+
+  static Standard_Integer myIndex;

Is it really supposed to be public?
Description would be helpful in this case.

+++ b/src/Express/FILES
@@ -0,0 +1,48 @@
+Express.cxx

Does EXPRESS (data modeling language) exists outside STEP context?
Wouldn't it be better naming package and toolkit StepExpress?

git

2022-08-08 17:00

administrator   ~0110147

Branch CR31481_5 has been created by atereshi.

SHA-1: 49a1286e642f62beecb6a3b8a3b1a17c7c4a1111


Detailed log of new commits:

Author: abv
Date: Thu Apr 2 01:21:08 2020 +0300

    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
    
    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.md

git

2022-08-12 18:18

administrator   ~0110220

Branch CR31481_5 has been updated by atereshi.

SHA-1: f509cc8676d8d1ad2f05bc021dedbd159eb4b3be


Detailed log of new commits:

Author: atereshi
Date: Fri Aug 12 18:17:01 2022 +0300

    // there is no more yyrestart with reference

git

2022-08-29 13:24

administrator   ~0110405

Branch CR31481_5 has been updated forcibly by atereshi.

SHA-1: c83518a81f1871c69b514fab956d32b83b867603

git

2022-08-29 16:37

administrator   ~0110419

Branch CR31481_5 has been updated by atereshi.

SHA-1: d0b2f0d8b7f897dd1a16d2ef671314096fcfeced


Detailed log of new commits:

Author: atereshi
Date: Mon Aug 29 16:37:41 2022 +0300

    // delete old output files

git

2022-08-31 15:22

administrator   ~0110491

Branch CR31481_5 has been updated forcibly by atereshi.

SHA-1: e357624ab2acb46b524897df9b14c9593a346c75

git

2022-08-31 15:58

administrator   ~0110496

Branch CR31481_5 has been updated forcibly by atereshi.

SHA-1: 5712305abd7ee151b0cece6d5b36efbb48b6d652

git

2022-09-01 12:18

administrator   ~0110512

Branch CR31481_5 has been updated by atereshi.

SHA-1: fb52ed0aee612efd05ef87ba9d1ce1a9a6faff40


Detailed log of new commits:

Author: atereshi
Date: Thu Sep 1 12:18:14 2022 +0300

    // remove debug option

git

2022-09-01 15:06

administrator   ~0110538

Branch CR31481_5 has been updated by atereshi.

SHA-1: 74ba00cbb515cf08e582c091f67dc960cb5d0b5f


Detailed log of new commits:

Author: atereshi
Date: Thu Sep 1 15:04:16 2022 +0300

    // change place for #include

git

2022-09-05 09:21

administrator   ~0110605

Branch CR31481_5 has been updated by atereshi.

SHA-1: 9e86ca1ace087a431c87eafd91cb13ae08f8538e


Detailed log of new commits:

Author: atereshi
Date: Mon Sep 5 09:21:20 2022 +0300

    // move scanner entity creation to the safe place

git

2022-09-05 11:31

administrator   ~0110625

Branch CR31481_5 has been updated forcibly by atereshi.

SHA-1: 1aa7235262173ae8ce2751c6e8baca4f335daf97

atereshi

2022-09-05 11:55

developer   ~0110630

Last edited: 2022-09-05 11:57

Galina,
Branch CR31481_5 is ready to integrate.
The branch has been tested on Jenkins for compilation with CMAKE option -DBUILD_YACCLEX=ON to regenerate FLEX and BISON parsers.
Application ExpToCasExe works on Linux and Windows and generates Step class files.
Most of the issues mentioned by @kgv were eliminated.

gka

2022-09-05 12:18

developer   ~0110635

Branch CR31481_5 was reviewed

smoskvin

2022-09-06 08:06

administrator   ~0110694

Warning in OCCT on MacOS

http://jenkins-test-occt.nnov.opencascade.com/view/CR0-WEEK-36/view/OCCT%20compile/job/CR0-WEEK-36-OCCT-MacOS-opt-compile/1/parsed_console/

smoskvin

2022-09-06 09:37

administrator   ~0110699

Problem compile OCCT Wasm on Ubuntu 18.04 64

http://jenkins-test-11.nnov.opencascade.com/view/CR0-WEEK-36_CR0-WEEK-36/view/OCCT%20compile/job/CR0-WEEK-36_CR0-WEEK-36-OCCT-Ubuntu-1804-64-wasm-opt-compile/2/parsed_console/

git

2022-09-06 14:05

administrator   ~0110733

Branch CR31481_5 has been updated forcibly by atereshi.

SHA-1: dfb30dfdfadd7de69716392da951d2ff2db4e17b

atereshi

2022-09-06 14:22

developer   ~0110739

The warning has been fixed.
The package was removed from EMSCRIPTEN build to eliminate install error.

gka

2022-09-06 15:03

developer   ~0110743

Branch CR31481_5 has been reviewed

smoskvin

2022-09-11 13:56

administrator   ~0110921

Combination -
OCCT branch : IR-2022-09-09
master SHA - 526c506cb0a6a5c9c168ab5efd0a4e5211e30bf4
e0ceb716c70188b98130b1550914140d0502a6f9
Products branch : IR-2022-09-09 SHA - changes and them, and you can discard any commits you make in this
574253b6b844635a69038511e6920877f837e298
was compiled on Linux, MacOS and Windows platforms and tested in optimize mode.

Number of compiler warnings:
No new/fixed warnings

Regressions/Differences/Improvements:
No regressions/differences

CPU differences:
Debian80-64:
OCCT
Total CPU difference: 18959.200000000466 / 18756.090000000648 [+1.08%]
Products
Total CPU difference: 12020.780000000137 / 11992.830000000133 [+0.23%]
Windows-64-VC14:
OCCT
Total CPU difference: 20894.5625 / 20851.65625 [+0.21%]
Products
Total CPU difference: 13470.484375 / 13574.0625 [-0.76%]


Image differences :
No differences that require special attention

Memory differences :
No differences that require special attention

git

2022-09-11 14:51

administrator   ~0110933

Branch CR31481 has been deleted by mnt.

SHA-1: 1f02cd5f2139446df96b07cae5cdd9018e638278

git

2022-09-11 14:51

administrator   ~0110934

Branch CR31481_1 has been deleted by mnt.

SHA-1: 0654738fd9c700da1309b21171547503b1aadeb4

git

2022-09-11 14:51

administrator   ~0110935

Branch CR31481_2 has been deleted by mnt.

SHA-1: 2ae91a436f657c3f32c7d4f0e901cd34e3ab17d2

git

2022-09-11 14:51

administrator   ~0110936

Branch CR31481_3 has been deleted by mnt.

SHA-1: be7c47a85721b1d67fe41cb04ec897d499a8fb2e

git

2022-09-11 14:51

administrator   ~0110937

Branch CR31481_5 has been deleted by mnt.

SHA-1: dfb30dfdfadd7de69716392da951d2ff2db4e17b

Related Changesets

occt: master 05cfce4d

2020-04-02 01:21:08

abv


Committer: smoskvin Details Diff
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

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.md
Affected Issues
0031481
mod - adm/cmake/bison.cmake Diff File
mod - adm/cmake/flex.cmake Diff File
mod - adm/cmake/occt_toolkit.cmake Diff File
mod - adm/MODULES Diff File
mod - adm/UDLIST Diff File
mod - CMakeLists.txt Diff File
add - src/Express/Express.cxx Diff File
add - src/Express/Express.hxx Diff File
add - src/Express/Express_Alias.cxx Diff File
add - src/Express/Express_Alias.hxx Diff File
add - src/Express/Express_Array.hxx Diff File
add - src/Express/Express_Bag.hxx Diff File
add - src/Express/Express_Boolean.cxx Diff File
add - src/Express/Express_Boolean.hxx Diff File
add - src/Express/Express_ComplexType.cxx Diff File
add - src/Express/Express_ComplexType.hxx Diff File
add - src/Express/Express_DataMapOfAsciiStringItem.hxx Diff File
add - src/Express/Express_Entity.cxx Diff File
add - src/Express/Express_Entity.hxx Diff File
add - src/Express/Express_Enum.cxx Diff File
add - src/Express/Express_Enum.hxx Diff File
add - src/Express/Express_Field.cxx Diff File
add - src/Express/Express_Field.hxx Diff File
add - src/Express/Express_HSequenceOfEntity.hxx Diff File
add - src/Express/Express_HSequenceOfField.hxx Diff File
add - src/Express/Express_HSequenceOfItem.hxx Diff File
add - src/Express/Express_Integer.cxx Diff File
add - src/Express/Express_Integer.hxx Diff File
add - src/Express/Express_Item.cxx Diff File
add - src/Express/Express_Item.hxx Diff File
add - src/Express/Express_List.hxx Diff File
add - src/Express/Express_Logical.cxx Diff File
add - src/Express/Express_Logical.hxx Diff File
add - src/Express/Express_NamedType.cxx Diff File
add - src/Express/Express_NamedType.hxx Diff File
add - src/Express/Express_Number.hxx Diff File
add - src/Express/Express_PredefinedType.cxx Diff File
add - src/Express/Express_PredefinedType.hxx Diff File
add - src/Express/Express_Real.cxx Diff File
add - src/Express/Express_Real.hxx Diff File
add - src/Express/Express_Reference.cxx Diff File
add - src/Express/Express_Reference.hxx Diff File
add - src/Express/Express_Schema.cxx Diff File
add - src/Express/Express_Schema.hxx Diff File
add - src/Express/Express_Select.cxx Diff File
add - src/Express/Express_Select.hxx Diff File
add - src/Express/Express_SequenceOfEntity.hxx Diff File
add - src/Express/Express_SequenceOfField.hxx Diff File
add - src/Express/Express_SequenceOfItem.hxx Diff File
add - src/Express/Express_Set.hxx Diff File
add - src/Express/Express_String.cxx Diff File
add - src/Express/Express_String.hxx Diff File
add - src/Express/Express_Type.cxx Diff File
add - src/Express/Express_Type.hxx Diff File
add - src/Express/FILES Diff File
add - src/ExpToCasExe/CMakeLists.txt Diff File
add - src/ExpToCasExe/exptocas.lex Diff File
add - src/ExpToCasExe/exptocas.tab.cxx Diff File
add - src/ExpToCasExe/exptocas.tab.hxx Diff File
add - src/ExpToCasExe/exptocas.yacc Diff File
add - src/ExpToCasExe/ExpToCasExe.cxx Diff File
add - src/ExpToCasExe/EXTERNLIB Diff File
add - src/ExpToCasExe/FILES Diff File
add - src/ExpToCasExe/FlexLexer.h Diff File
add - src/ExpToCasExe/lex.exptocas.cxx Diff File
add - src/ExpToCasExe/occt_existed_step_entities.lst Diff File
add - src/ExpToCasExe/ReadMe.md Diff File
mod - src/OS/DataExchange.tcl Diff File
add - src/TKExpress/CMakeLists.txt Diff File
add - src/TKExpress/EXTERNLIB Diff File
add - src/TKExpress/FILES Diff File
add - src/TKExpress/PACKAGES Diff File

Issue History

Date Modified Username Field Change
2020-04-02 01:16 abv New Issue
2020-04-02 01:16 abv Assigned To => gka
2020-04-02 01:20 git Note Added: 0091399
2020-04-02 01:21 abv Assigned To gka => ika
2020-04-02 01:22 abv Note Added: 0091400
2020-04-02 09:44 git Note Added: 0091402
2020-04-02 13:55 git Note Added: 0091412
2020-04-16 19:01 git Note Added: 0091601
2020-04-20 18:07 git Note Added: 0091688
2020-04-23 19:05 git Note Added: 0091747
2020-04-29 19:27 git Note Added: 0091877
2020-04-30 21:29 git Note Added: 0091921
2020-05-11 21:35 git Note Added: 0092067
2020-08-20 15:54 git Note Added: 0093564
2020-08-26 18:27 git Note Added: 0093648
2020-08-27 14:46 git Note Added: 0093669
2020-08-27 19:06 git Note Added: 0093672
2020-08-28 15:38 git Note Added: 0093698
2020-08-28 15:58 git Note Added: 0093699
2020-08-28 16:00 ika Note Added: 0093700
2020-08-28 16:00 ika Assigned To ika => abv
2020-08-28 16:00 ika Status new => resolved
2020-08-28 16:00 ika Steps to Reproduce Updated
2020-09-06 11:59 kgv Note Added: 0094166
2020-09-13 08:22 abv Relationship added related to 0031740
2020-09-24 16:15 abv Target Version 7.5.0 => 7.6.0
2020-11-23 21:58 abv Note Added: 0097016
2020-11-23 21:58 abv Assigned To abv => skl
2020-11-23 21:58 abv Status resolved => assigned
2020-11-27 13:50 git Note Added: 0097108
2020-11-30 11:35 git Note Added: 0097153
2020-11-30 11:36 git Note Added: 0097154
2020-11-30 15:33 git Note Added: 0097172
2020-12-01 11:41 git Note Added: 0097192
2020-12-02 10:36 git Note Added: 0097232
2020-12-07 12:15 git Note Added: 0097407
2020-12-10 15:18 git Note Added: 0097467
2020-12-24 16:24 git Note Added: 0097890
2020-12-28 10:24 git Note Added: 0097957
2020-12-29 06:28 git Note Added: 0097966
2020-12-29 08:34 git Note Added: 0097968
2020-12-29 09:38 git Note Added: 0097970
2020-12-29 10:53 git Note Added: 0097971
2020-12-29 11:28 git Note Added: 0097972
2020-12-31 11:16 git Note Added: 0097996
2020-12-31 16:25 skl Note Added: 0098001
2020-12-31 16:25 skl Assigned To skl => abv
2020-12-31 16:25 skl Status assigned => resolved
2021-10-25 10:17 szy Note Added: 0104847
2021-10-25 10:17 szy Assigned To abv => ika
2021-10-25 10:17 szy Status resolved => assigned
2021-10-25 10:22 szy Status assigned => resolved
2021-10-27 11:25 szy Note Edited: 0104847
2021-10-27 21:21 git Note Added: 0104920
2021-10-28 16:41 git Note Added: 0104942
2021-10-28 17:02 ika Note Added: 0104943
2021-10-28 17:02 ika Status resolved => assigned
2021-10-28 17:26 kgv Note Added: 0104945
2021-11-01 17:06 szy Target Version 7.6.0 => 7.7.0
2022-07-15 13:21 msv Assigned To ika => atereshi
2022-08-08 17:00 git Note Added: 0110147
2022-08-12 18:18 git Note Added: 0110220
2022-08-29 13:24 git Note Added: 0110405
2022-08-29 16:37 git Note Added: 0110419
2022-08-31 15:22 git Note Added: 0110491
2022-08-31 15:58 git Note Added: 0110496
2022-09-01 12:18 git Note Added: 0110512
2022-09-01 15:06 git Note Added: 0110538
2022-09-05 09:21 git Note Added: 0110605
2022-09-05 11:31 git Note Added: 0110625
2022-09-05 11:55 atereshi Note Added: 0110630
2022-09-05 11:56 atereshi Assigned To atereshi => gka
2022-09-05 11:56 atereshi Status assigned => resolved
2022-09-05 11:57 atereshi Note Edited: 0110630
2022-09-05 12:18 gka Assigned To gka => bugmaster
2022-09-05 12:18 gka Status resolved => reviewed
2022-09-05 12:18 gka Note Added: 0110635
2022-09-06 08:06 smoskvin Assigned To bugmaster => atereshi
2022-09-06 08:06 smoskvin Status reviewed => assigned
2022-09-06 08:06 smoskvin Note Added: 0110694
2022-09-06 09:37 smoskvin Note Added: 0110699
2022-09-06 14:05 git Note Added: 0110733
2022-09-06 14:22 atereshi Assigned To atereshi => gka
2022-09-06 14:22 atereshi Status assigned => resolved
2022-09-06 14:22 atereshi Note Added: 0110739
2022-09-06 15:03 gka Assigned To gka => bugmaster
2022-09-06 15:03 gka Status resolved => reviewed
2022-09-06 15:03 gka Note Added: 0110743
2022-09-11 13:56 smoskvin Status reviewed => tested
2022-09-11 13:56 smoskvin Note Added: 0110921
2022-09-11 14:02 smoskvin Test case number => Not required
2022-09-11 14:40 smoskvin Changeset attached => occt master 05cfce4d
2022-09-11 14:40 abv Assigned To bugmaster => abv
2022-09-11 14:40 abv Status tested => verified
2022-09-11 14:40 abv Resolution open => fixed
2022-09-11 14:51 git Note Added: 0110933
2022-09-11 14:51 git Note Added: 0110934
2022-09-11 14:51 git Note Added: 0110935
2022-09-11 14:51 git Note Added: 0110936
2022-09-11 14:51 git Note Added: 0110937
2022-09-13 14:32 kgv Relationship added parent of 0033142
2022-11-30 00:31 dpasukhi Relationship added related to 0033235
2023-03-19 23:01 vglukhik Status verified => closed
2023-03-19 23:01 vglukhik Fixed in Version => 7.7.0