]> OCCT Git - occt-copy.git/commitdiff
0031481: Data Exchange - provide parser of STEP EXPRESS schema for generation of...
authorskl <skl@opencascade.com>
Fri, 27 Nov 2020 06:31:12 +0000 (09:31 +0300)
committerskl <skl@opencascade.com>
Mon, 7 Dec 2020 09:01:21 +0000 (12:01 +0300)
Changes after regeneration flex and bison.

src/StepFile/lex.step.cxx
src/StepFile/location.hh
src/StepFile/step.tab.cxx

index 2b313fa97be85eb9defb226b385c0103290c4a8b..62e1d42cba988e6b1b7723aa9b75041c5294c98c 100644 (file)
@@ -1,4 +1,4 @@
-#line 30 "D:/ABV/OCCT/occt/src/StepFile/step.lex"
+#line 30 "D:/GIT6/occt/src/StepFile/step.lex"
 // This file is part of Open CASCADE Technology software library.
 // This file is generated, do not modify it directly; edit source file step.lex instead.
 
index 450908104af8c053628f117a7cfa04d5823a9f9c..3489b0548099850a5a11b1363694423c5b8ec4b6 100644 (file)
-// A Bison parser, made by GNU Bison 3.7.1.
-
-// Locations for Bison parsers in C++
-
-// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.
-
-// This program is free software: you can redistribute it and/or modify
-// it under the terms of the GNU General Public License as published by
-// the Free Software Foundation, either version 3 of the License, or
-// (at your option) any later version.
-
-// This program is distributed in the hope that it will be useful,
-// but WITHOUT ANY WARRANTY; without even the implied warranty of
-// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-// GNU General Public License for more details.
-
-// You should have received a copy of the GNU General Public License
-// along with this program.  If not, see <http://www.gnu.org/licenses/>.
-
-// As a special exception, you may create a larger work that contains
-// part or all of the Bison parser skeleton and distribute that work
-// under terms of your choice, so long as that work isn't itself a
-// parser generator using the skeleton or a modified version thereof
-// as a parser skeleton.  Alternatively, if you modify or redistribute
-// the parser skeleton itself, you may (at your option) remove this
-// special exception, which will cause the skeleton and the resulting
-// Bison output files to be licensed under the GNU General Public
-// License without this special exception.
-
-// This special exception was added by the Free Software Foundation in
-// version 2.2 of Bison.
-
-/**
- ** \file StepFile/location.hh
- ** Define the step::location class.
- */
-
-#ifndef YY_STEP_STEPFILE_LOCATION_HH_INCLUDED
-# define YY_STEP_STEPFILE_LOCATION_HH_INCLUDED
-
-# include <iostream>
-# include <string>
-
-# ifndef YY_NULLPTR
-#  if defined __cplusplus
-#   if 201103L <= __cplusplus
-#    define YY_NULLPTR nullptr
-#   else
-#    define YY_NULLPTR 0
-#   endif
-#  else
-#   define YY_NULLPTR ((void*)0)
-#  endif
-# endif
-
-namespace step {
-
-  /// A point in a source file.
-  class position
-  {
-  public:
-    /// Type for file name.
-    typedef const std::string filename_type;
-    /// Type for line and column numbers.
-    typedef int counter_type;
-
-    /// Construct a position.
-    explicit position (filename_type* f = YY_NULLPTR,
-                       counter_type l = 1,
-                       counter_type c = 1)
-      : filename (f)
-      , line (l)
-      , column (c)
-    {}
-
-
-    /// Initialization.
-    void initialize (filename_type* fn = YY_NULLPTR,
-                     counter_type l = 1,
-                     counter_type c = 1)
-    {
-      filename = fn;
-      line = l;
-      column = c;
-    }
-
-    /** \name Line and Column related manipulators
-     ** \{ */
-    /// (line related) Advance to the COUNT next lines.
-    void lines (counter_type count = 1)
-    {
-      if (count)
-        {
-          column = 1;
-          line = add_ (line, count, 1);
-        }
-    }
-
-    /// (column related) Advance to the COUNT next columns.
-    void columns (counter_type count = 1)
-    {
-      column = add_ (column, count, 1);
-    }
-    /** \} */
-
-    /// File name to which this position refers.
-    filename_type* filename;
-    /// Current line number.
-    counter_type line;
-    /// Current column number.
-    counter_type column;
-
-  private:
-    /// Compute max (min, lhs+rhs).
-    static counter_type add_ (counter_type lhs, counter_type rhs, counter_type min)
-    {
-      return lhs + rhs < min ? min : lhs + rhs;
-    }
-  };
-
-  /// Add \a width columns, in place.
-  inline position&
-  operator+= (position& res, position::counter_type width)
-  {
-    res.columns (width);
-    return res;
-  }
-
-  /// Add \a width columns.
-  inline position
-  operator+ (position res, position::counter_type width)
-  {
-    return res += width;
-  }
-
-  /// Subtract \a width columns, in place.
-  inline position&
-  operator-= (position& res, position::counter_type width)
-  {
-    return res += -width;
-  }
-
-  /// Subtract \a width columns.
-  inline position
-  operator- (position res, position::counter_type width)
-  {
-    return res -= width;
-  }
-
-  /** \brief Intercept output stream redirection.
-   ** \param ostr the destination output stream
-   ** \param pos a reference to the position to redirect
-   */
-  template <typename YYChar>
-  std::basic_ostream<YYChar>&
-  operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)
-  {
-    if (pos.filename)
-      ostr << *pos.filename << ':';
-    return ostr << pos.line << '.' << pos.column;
-  }
-
-  /// Two points in a source file.
-  class location
-  {
-  public:
-    /// Type for file name.
-    typedef position::filename_type filename_type;
-    /// Type for line and column numbers.
-    typedef position::counter_type counter_type;
-
-    /// Construct a location from \a b to \a e.
-    location (const position& b, const position& e)
-      : begin (b)
-      , end (e)
-    {}
-
-    /// Construct a 0-width location in \a p.
-    explicit location (const position& p = position ())
-      : begin (p)
-      , end (p)
-    {}
-
-    /// Construct a 0-width location in \a f, \a l, \a c.
-    explicit location (filename_type* f,
-                       counter_type l = 1,
-                       counter_type c = 1)
-      : begin (f, l, c)
-      , end (f, l, c)
-    {}
-
-
-    /// Initialization.
-    void initialize (filename_type* f = YY_NULLPTR,
-                     counter_type l = 1,
-                     counter_type c = 1)
-    {
-      begin.initialize (f, l, c);
-      end = begin;
-    }
-
-    /** \name Line and Column related manipulators
-     ** \{ */
-  public:
-    /// Reset initial location to final location.
-    void step ()
-    {
-      begin = end;
-    }
-
-    /// Extend the current location to the COUNT next columns.
-    void columns (counter_type count = 1)
-    {
-      end += count;
-    }
-
-    /// Extend the current location to the COUNT next lines.
-    void lines (counter_type count = 1)
-    {
-      end.lines (count);
-    }
-    /** \} */
-
-
-  public:
-    /// Beginning of the located region.
-    position begin;
-    /// End of the located region.
-    position end;
-  };
-
-  /// Join two locations, in place.
-  inline location&
-  operator+= (location& res, const location& end)
-  {
-    res.end = end.end;
-    return res;
-  }
-
-  /// Join two locations.
-  inline location
-  operator+ (location res, const location& end)
-  {
-    return res += end;
-  }
-
-  /// Add \a width columns to the end position, in place.
-  inline location&
-  operator+= (location& res, location::counter_type width)
-  {
-    res.columns (width);
-    return res;
-  }
-
-  /// Add \a width columns to the end position.
-  inline location
-  operator+ (location res, location::counter_type width)
-  {
-    return res += width;
-  }
-
-  /// Subtract \a width columns to the end position, in place.
-  inline location&
-  operator-= (location& res, location::counter_type width)
-  {
-    return res += -width;
-  }
-
-  /// Subtract \a width columns to the end position.
-  inline location
-  operator- (location res, location::counter_type width)
-  {
-    return res -= width;
-  }
-
-  /** \brief Intercept output stream redirection.
-   ** \param ostr the destination output stream
-   ** \param loc a reference to the location to redirect
-   **
-   ** Avoid duplicate information.
-   */
-  template <typename YYChar>
-  std::basic_ostream<YYChar>&
-  operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)
-  {
-    location::counter_type end_col
-      = 0 < loc.end.column ? loc.end.column - 1 : 0;
-    ostr << loc.begin;
-    if (loc.end.filename
-        && (!loc.begin.filename
-            || *loc.begin.filename != *loc.end.filename))
-      ostr << '-' << loc.end.filename << ':' << loc.end.line << '.' << end_col;
-    else if (loc.begin.line < loc.end.line)
-      ostr << '-' << loc.end.line << '.' << end_col;
-    else if (loc.begin.column < end_col)
-      ostr << '-' << end_col;
-    return ostr;
-  }
-
-} // step
-
-#endif // !YY_STEP_STEPFILE_LOCATION_HH_INCLUDED
+// A Bison parser, made by GNU Bison 3.7.1.\r
+\r
+// Locations for Bison parsers in C++\r
+\r
+// Copyright (C) 2002-2015, 2018-2020 Free Software Foundation, Inc.\r
+\r
+// This program is free software: you can redistribute it and/or modify\r
+// it under the terms of the GNU General Public License as published by\r
+// the Free Software Foundation, either version 3 of the License, or\r
+// (at your option) any later version.\r
+\r
+// This program is distributed in the hope that it will be useful,\r
+// but WITHOUT ANY WARRANTY; without even the implied warranty of\r
+// MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the\r
+// GNU General Public License for more details.\r
+\r
+// You should have received a copy of the GNU General Public License\r
+// along with this program.  If not, see <http://www.gnu.org/licenses/>.\r
+\r
+// As a special exception, you may create a larger work that contains\r
+// part or all of the Bison parser skeleton and distribute that work\r
+// under terms of your choice, so long as that work isn't itself a\r
+// parser generator using the skeleton or a modified version thereof\r
+// as a parser skeleton.  Alternatively, if you modify or redistribute\r
+// the parser skeleton itself, you may (at your option) remove this\r
+// special exception, which will cause the skeleton and the resulting\r
+// Bison output files to be licensed under the GNU General Public\r
+// License without this special exception.\r
+\r
+// This special exception was added by the Free Software Foundation in\r
+// version 2.2 of Bison.\r
+\r
+/**\r
+ ** \file StepFile/location.hh\r
+ ** Define the step::location class.\r
+ */\r
+\r
+#ifndef YY_STEP_STEPFILE_LOCATION_HH_INCLUDED\r
+# define YY_STEP_STEPFILE_LOCATION_HH_INCLUDED\r
+\r
+# include <iostream>\r
+# include <string>\r
+\r
+# ifndef YY_NULLPTR\r
+#  if defined __cplusplus\r
+#   if 201103L <= __cplusplus\r
+#    define YY_NULLPTR nullptr\r
+#   else\r
+#    define YY_NULLPTR 0\r
+#   endif\r
+#  else\r
+#   define YY_NULLPTR ((void*)0)\r
+#  endif\r
+# endif\r
+\r
+namespace step {\r
+\r
+  /// A point in a source file.\r
+  class position\r
+  {\r
+  public:\r
+    /// Type for file name.\r
+    typedef const std::string filename_type;\r
+    /// Type for line and column numbers.\r
+    typedef int counter_type;\r
+\r
+    /// Construct a position.\r
+    explicit position (filename_type* f = YY_NULLPTR,\r
+                       counter_type l = 1,\r
+                       counter_type c = 1)\r
+      : filename (f)\r
+      , line (l)\r
+      , column (c)\r
+    {}\r
+\r
+\r
+    /// Initialization.\r
+    void initialize (filename_type* fn = YY_NULLPTR,\r
+                     counter_type l = 1,\r
+                     counter_type c = 1)\r
+    {\r
+      filename = fn;\r
+      line = l;\r
+      column = c;\r
+    }\r
+\r
+    /** \name Line and Column related manipulators\r
+     ** \{ */\r
+    /// (line related) Advance to the COUNT next lines.\r
+    void lines (counter_type count = 1)\r
+    {\r
+      if (count)\r
+        {\r
+          column = 1;\r
+          line = add_ (line, count, 1);\r
+        }\r
+    }\r
+\r
+    /// (column related) Advance to the COUNT next columns.\r
+    void columns (counter_type count = 1)\r
+    {\r
+      column = add_ (column, count, 1);\r
+    }\r
+    /** \} */\r
+\r
+    /// File name to which this position refers.\r
+    filename_type* filename;\r
+    /// Current line number.\r
+    counter_type line;\r
+    /// Current column number.\r
+    counter_type column;\r
+\r
+  private:\r
+    /// Compute max (min, lhs+rhs).\r
+    static counter_type add_ (counter_type lhs, counter_type rhs, counter_type min)\r
+    {\r
+      return lhs + rhs < min ? min : lhs + rhs;\r
+    }\r
+  };\r
+\r
+  /// Add \a width columns, in place.\r
+  inline position&\r
+  operator+= (position& res, position::counter_type width)\r
+  {\r
+    res.columns (width);\r
+    return res;\r
+  }\r
+\r
+  /// Add \a width columns.\r
+  inline position\r
+  operator+ (position res, position::counter_type width)\r
+  {\r
+    return res += width;\r
+  }\r
+\r
+  /// Subtract \a width columns, in place.\r
+  inline position&\r
+  operator-= (position& res, position::counter_type width)\r
+  {\r
+    return res += -width;\r
+  }\r
+\r
+  /// Subtract \a width columns.\r
+  inline position\r
+  operator- (position res, position::counter_type width)\r
+  {\r
+    return res -= width;\r
+  }\r
+\r
+  /** \brief Intercept output stream redirection.\r
+   ** \param ostr the destination output stream\r
+   ** \param pos a reference to the position to redirect\r
+   */\r
+  template <typename YYChar>\r
+  std::basic_ostream<YYChar>&\r
+  operator<< (std::basic_ostream<YYChar>& ostr, const position& pos)\r
+  {\r
+    if (pos.filename)\r
+      ostr << *pos.filename << ':';\r
+    return ostr << pos.line << '.' << pos.column;\r
+  }\r
+\r
+  /// Two points in a source file.\r
+  class location\r
+  {\r
+  public:\r
+    /// Type for file name.\r
+    typedef position::filename_type filename_type;\r
+    /// Type for line and column numbers.\r
+    typedef position::counter_type counter_type;\r
+\r
+    /// Construct a location from \a b to \a e.\r
+    location (const position& b, const position& e)\r
+      : begin (b)\r
+      , end (e)\r
+    {}\r
+\r
+    /// Construct a 0-width location in \a p.\r
+    explicit location (const position& p = position ())\r
+      : begin (p)\r
+      , end (p)\r
+    {}\r
+\r
+    /// Construct a 0-width location in \a f, \a l, \a c.\r
+    explicit location (filename_type* f,\r
+                       counter_type l = 1,\r
+                       counter_type c = 1)\r
+      : begin (f, l, c)\r
+      , end (f, l, c)\r
+    {}\r
+\r
+\r
+    /// Initialization.\r
+    void initialize (filename_type* f = YY_NULLPTR,\r
+                     counter_type l = 1,\r
+                     counter_type c = 1)\r
+    {\r
+      begin.initialize (f, l, c);\r
+      end = begin;\r
+    }\r
+\r
+    /** \name Line and Column related manipulators\r
+     ** \{ */\r
+  public:\r
+    /// Reset initial location to final location.\r
+    void step ()\r
+    {\r
+      begin = end;\r
+    }\r
+\r
+    /// Extend the current location to the COUNT next columns.\r
+    void columns (counter_type count = 1)\r
+    {\r
+      end += count;\r
+    }\r
+\r
+    /// Extend the current location to the COUNT next lines.\r
+    void lines (counter_type count = 1)\r
+    {\r
+      end.lines (count);\r
+    }\r
+    /** \} */\r
+\r
+\r
+  public:\r
+    /// Beginning of the located region.\r
+    position begin;\r
+    /// End of the located region.\r
+    position end;\r
+  };\r
+\r
+  /// Join two locations, in place.\r
+  inline location&\r
+  operator+= (location& res, const location& end)\r
+  {\r
+    res.end = end.end;\r
+    return res;\r
+  }\r
+\r
+  /// Join two locations.\r
+  inline location\r
+  operator+ (location res, const location& end)\r
+  {\r
+    return res += end;\r
+  }\r
+\r
+  /// Add \a width columns to the end position, in place.\r
+  inline location&\r
+  operator+= (location& res, location::counter_type width)\r
+  {\r
+    res.columns (width);\r
+    return res;\r
+  }\r
+\r
+  /// Add \a width columns to the end position.\r
+  inline location\r
+  operator+ (location res, location::counter_type width)\r
+  {\r
+    return res += width;\r
+  }\r
+\r
+  /// Subtract \a width columns to the end position, in place.\r
+  inline location&\r
+  operator-= (location& res, location::counter_type width)\r
+  {\r
+    return res += -width;\r
+  }\r
+\r
+  /// Subtract \a width columns to the end position.\r
+  inline location\r
+  operator- (location res, location::counter_type width)\r
+  {\r
+    return res -= width;\r
+  }\r
+\r
+  /** \brief Intercept output stream redirection.\r
+   ** \param ostr the destination output stream\r
+   ** \param loc a reference to the location to redirect\r
+   **\r
+   ** Avoid duplicate information.\r
+   */\r
+  template <typename YYChar>\r
+  std::basic_ostream<YYChar>&\r
+  operator<< (std::basic_ostream<YYChar>& ostr, const location& loc)\r
+  {\r
+    location::counter_type end_col\r
+      = 0 < loc.end.column ? loc.end.column - 1 : 0;\r
+    ostr << loc.begin;\r
+    if (loc.end.filename\r
+        && (!loc.begin.filename\r
+            || *loc.begin.filename != *loc.end.filename))\r
+      ostr << '-' << loc.end.filename << ':' << loc.end.line << '.' << end_col;\r
+    else if (loc.begin.line < loc.end.line)\r
+      ostr << '-' << loc.end.line << '.' << end_col;\r
+    else if (loc.begin.column < end_col)\r
+      ostr << '-' << end_col;\r
+    return ostr;\r
+  }\r
+\r
+} // step\r
+\r
+#endif // !YY_STEP_STEPFILE_LOCATION_HH_INCLUDED\r
index ee3a6874348387e83e60f925d0308790aea9574f..b146196ff19b076f1c4774b8883cb219854ae996 100644 (file)
@@ -1017,12 +1017,12 @@ namespace step {
   const unsigned char
   parser::yyrline_[] =
   {
-       0,    71,    71,    72,    73,    74,    75,    76,    77,    78,
-      78,    78,    81,    82,    84,    85,    87,    90,    91,    92,
-      93,    94,    98,   101,   104,   109,   110,   111,   112,   114,
-     115,   116,   118,   119,   121,   122,   123,   124,   126,   127,
-     129,   130,   132,   135,   138,   139,   141,   144,   146,   151,
-     154
+       0,    73,    73,    74,    75,    76,    77,    78,    79,    80,
+      80,    80,    83,    84,    86,    87,    89,    92,    93,    94,
+      95,    96,   100,   103,   106,   111,   112,   113,   114,   116,
+     117,   118,   120,   121,   123,   124,   125,   126,   128,   129,
+     131,   132,   134,   137,   140,   141,   143,   146,   148,   153,
+     156
   };
 
   void