1
0
mirror of https://git.dev.opencascade.org/repos/occt.git synced 2025-09-03 14:10:33 +03:00

0024002: Overall code and build procedure refactoring -- automatic

Automatic upgrade of OCCT code by command "occt_upgrade . -nocdl":
- WOK-generated header files from inc and sources from drv are moved to src
- CDL files removed
- All packages are converted to nocdlpack
This commit is contained in:
abv
2015-07-12 07:42:38 +03:00
parent 543a996496
commit 42cf5bc1ca
15354 changed files with 623957 additions and 509844 deletions

View File

@@ -1,60 +0,0 @@
-- Created on: 1991-07-18
-- Created by: Arnaud BOUZY
-- Copyright (c) 1991-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
package ExprIntrp
---Purpose: Describes an interpreter for GeneralExpressions,
-- GeneralFunctions, and GeneralRelations defined in
-- package Expr.
uses Expr, MMgt, TCollection, TColStd
is
deferred class Generator;
class GenExp;
class GenFct;
class GenRel;
private class Analysis;
imported SequenceOfNamedFunction;
imported SequenceOfNamedExpression;
exception SyntaxError inherits Failure from Standard;
imported StackOfGeneralExpression;
imported ListIteratorOfStackOfGeneralExpression;
imported StackOfGeneralRelation;
imported ListIteratorOfStackOfGeneralRelation;
imported StackOfGeneralFunction;
imported ListIteratorOfStackOfGeneralFunction;
Parse(gen : Generator; str : AsciiString from TCollection)
returns Boolean
is private;
end ExprIntrp;

View File

@@ -14,11 +14,14 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ExprIntrp.ixx>
#include <ExprIntrp_yaccintrf.hxx>
#include <ExprIntrp_yaccanal.hxx>
#include <Standard_ErrorHandler.hxx>
#include <ExprIntrp.hxx>
#include <ExprIntrp_Generator.hxx>
#include <ExprIntrp_SyntaxError.hxx>
#include <ExprIntrp_yaccanal.hxx>
#include <ExprIntrp_yaccintrf.hxx>
#include <Standard_ErrorHandler.hxx>
#include <TCollection_AsciiString.hxx>
static TCollection_AsciiString ExprIntrp_thestring;

View File

@@ -0,0 +1,74 @@
// Created on: 1991-07-18
// Created by: Arnaud BOUZY
// Copyright (c) 1991-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_HeaderFile
#define _ExprIntrp_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <Standard_Boolean.hxx>
class ExprIntrp_Generator;
class TCollection_AsciiString;
class ExprIntrp_Generator;
class ExprIntrp_GenExp;
class ExprIntrp_GenFct;
class ExprIntrp_GenRel;
class ExprIntrp_Analysis;
//! Describes an interpreter for GeneralExpressions,
//! GeneralFunctions, and GeneralRelations defined in
//! package Expr.
class ExprIntrp
{
public:
DEFINE_STANDARD_ALLOC
protected:
private:
Standard_EXPORT static Standard_Boolean Parse (const Handle(ExprIntrp_Generator)& gen, const TCollection_AsciiString& str);
friend class ExprIntrp_Generator;
friend class ExprIntrp_GenExp;
friend class ExprIntrp_GenFct;
friend class ExprIntrp_GenRel;
friend class ExprIntrp_Analysis;
};
#endif // _ExprIntrp_HeaderFile

File diff suppressed because it is too large Load Diff

View File

@@ -0,0 +1,98 @@
/* A Bison parser, made by GNU Bison 2.7. */
/* Bison interface for Yacc-like parsers in C
Copyright (C) 1984, 1989-1990, 2000-2012 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. */
#ifndef YY_EXPRINTRP_EXPRINTRP_TAB_H_INCLUDED
# define YY_EXPRINTRP_EXPRINTRP_TAB_H_INCLUDED
/* Enabling traces. */
#ifndef YYDEBUG
# define YYDEBUG 0
#endif
#if YYDEBUG
extern int ExprIntrpdebug;
#endif
/* Tokens. */
#ifndef YYTOKENTYPE
# define YYTOKENTYPE
/* Put the tokens into the symbol table, so that GDB and other debuggers
know about them. */
enum yytokentype {
SUMOP = 258,
MINUSOP = 259,
DIVIDEOP = 260,
EXPOP = 261,
MULTOP = 262,
PARENTHESIS = 263,
BRACKET = 264,
ENDPARENTHESIS = 265,
ENDBRACKET = 266,
VALUE = 267,
IDENTIFIER = 268,
COMMA = 269,
DIFFERENTIAL = 270,
DERIVATE = 271,
DERIVKEY = 272,
ASSIGNOP = 273,
DEASSIGNKEY = 274,
EQUALOP = 275,
RELSEPARATOR = 276,
CONSTKEY = 277,
SUMKEY = 278,
PRODKEY = 279
};
#endif
#if ! defined YYSTYPE && ! defined YYSTYPE_IS_DECLARED
typedef int YYSTYPE;
# define YYSTYPE_IS_TRIVIAL 1
# define yystype YYSTYPE /* obsolescent; will be withdrawn */
# define YYSTYPE_IS_DECLARED 1
#endif
extern YYSTYPE ExprIntrplval;
#ifdef YYPARSE_PARAM
#if defined __STDC__ || defined __cplusplus
int ExprIntrpparse (void *YYPARSE_PARAM);
#else
int ExprIntrpparse ();
#endif
#else /* ! YYPARSE_PARAM */
#if defined __STDC__ || defined __cplusplus
int ExprIntrpparse (void);
#else
int ExprIntrpparse ();
#endif
#endif /* ! YYPARSE_PARAM */
#endif /* !YY_EXPRINTRP_EXPRINTRP_TAB_H_INCLUDED */

View File

@@ -1,116 +0,0 @@
-- Created on: 1992-02-21
-- Created by: Arnaud BOUZY
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
private class Analysis from ExprIntrp
---Purpose:
uses Generator from ExprIntrp,
GeneralExpression from Expr,
GeneralRelation from Expr,
GeneralFunction from Expr,
StackOfGeneralExpression from ExprIntrp,
StackOfGeneralRelation from ExprIntrp,
StackOfGeneralFunction from ExprIntrp,
ListOfInteger from TColStd,
SequenceOfGeneralExpression from Expr,
SequenceOfNamedFunction from ExprIntrp,
SequenceOfNamedExpression from ExprIntrp,
NamedFunction from Expr,
NamedExpression from Expr,
AsciiString from TCollection,
ListOfAsciiString from TColStd
is
Create
returns Analysis;
SetMaster(me : in out; agen : Generator)
is static;
Push(me : in out; exp : GeneralExpression)
is static;
PushRelation(me : in out; rel : GeneralRelation)
is static;
PushName(me : in out; name : AsciiString)
is static;
PushValue(me : in out; degree : Integer)
is static;
PushFunction(me : in out; func : GeneralFunction)
is static;
Pop(me : in out)
returns GeneralExpression
is static;
PopRelation(me : in out)
returns GeneralRelation
is static;
PopName(me : in out)
returns AsciiString
is static;
PopValue(me: in out)
returns Integer
is static;
PopFunction(me: in out)
returns GeneralFunction
is static;
IsExpStackEmpty(me)
returns Boolean
is static;
IsRelStackEmpty(me)
returns Boolean
is static;
ResetAll(me : in out)
is static;
Use(me : in out; func : NamedFunction)
is static;
Use(me : in out; named : NamedExpression)
is static;
GetNamed(me : in out; name : AsciiString)
returns NamedExpression
is static;
GetFunction(me : in out; name : AsciiString)
returns NamedFunction
is static;
fields
myGEStack : StackOfGeneralExpression;
myGRStack : StackOfGeneralRelation;
myGFStack : StackOfGeneralFunction;
myNameStack : ListOfAsciiString from TColStd;
myValueStack : ListOfInteger;
myFunctions : SequenceOfNamedFunction;
myNamed : SequenceOfNamedExpression;
myMaster : Generator;
end Analysis;

View File

@@ -16,8 +16,16 @@
#define _ExprIntrp_Analysis_SourceFile
#include <ExprIntrp_Analysis.ixx>
#include <Expr_GeneralExpression.hxx>
#include <Expr_GeneralFunction.hxx>
#include <Expr_GeneralRelation.hxx>
#include <Expr_NamedExpression.hxx>
#include <Expr_NamedFunction.hxx>
#include <Expr_NamedUnknown.hxx>
#include <ExprIntrp_Analysis.hxx>
#include <ExprIntrp_Generator.hxx>
#include <TCollection_AsciiString.hxx>
ExprIntrp_Analysis::ExprIntrp_Analysis() {}

View File

@@ -0,0 +1,119 @@
// Created on: 1992-02-21
// Created by: Arnaud BOUZY
// Copyright (c) 1992-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_Analysis_HeaderFile
#define _ExprIntrp_Analysis_HeaderFile
#include <Standard.hxx>
#include <Standard_DefineAlloc.hxx>
#include <Standard_Handle.hxx>
#include <ExprIntrp_StackOfGeneralExpression.hxx>
#include <ExprIntrp_StackOfGeneralRelation.hxx>
#include <ExprIntrp_StackOfGeneralFunction.hxx>
#include <TColStd_ListOfAsciiString.hxx>
#include <TColStd_ListOfInteger.hxx>
#include <ExprIntrp_SequenceOfNamedFunction.hxx>
#include <ExprIntrp_SequenceOfNamedExpression.hxx>
#include <Standard_Integer.hxx>
#include <Standard_Boolean.hxx>
class ExprIntrp_Generator;
class Expr_GeneralExpression;
class Expr_GeneralRelation;
class TCollection_AsciiString;
class Expr_GeneralFunction;
class Expr_NamedFunction;
class Expr_NamedExpression;
class ExprIntrp_Analysis
{
public:
DEFINE_STANDARD_ALLOC
Standard_EXPORT ExprIntrp_Analysis();
Standard_EXPORT void SetMaster (const Handle(ExprIntrp_Generator)& agen);
Standard_EXPORT void Push (const Handle(Expr_GeneralExpression)& exp);
Standard_EXPORT void PushRelation (const Handle(Expr_GeneralRelation)& rel);
Standard_EXPORT void PushName (const TCollection_AsciiString& name);
Standard_EXPORT void PushValue (const Standard_Integer degree);
Standard_EXPORT void PushFunction (const Handle(Expr_GeneralFunction)& func);
Standard_EXPORT Handle(Expr_GeneralExpression) Pop();
Standard_EXPORT Handle(Expr_GeneralRelation) PopRelation();
Standard_EXPORT TCollection_AsciiString PopName();
Standard_EXPORT Standard_Integer PopValue();
Standard_EXPORT Handle(Expr_GeneralFunction) PopFunction();
Standard_EXPORT Standard_Boolean IsExpStackEmpty() const;
Standard_EXPORT Standard_Boolean IsRelStackEmpty() const;
Standard_EXPORT void ResetAll();
Standard_EXPORT void Use (const Handle(Expr_NamedFunction)& func);
Standard_EXPORT void Use (const Handle(Expr_NamedExpression)& named);
Standard_EXPORT Handle(Expr_NamedExpression) GetNamed (const TCollection_AsciiString& name);
Standard_EXPORT Handle(Expr_NamedFunction) GetFunction (const TCollection_AsciiString& name);
protected:
private:
ExprIntrp_StackOfGeneralExpression myGEStack;
ExprIntrp_StackOfGeneralRelation myGRStack;
ExprIntrp_StackOfGeneralFunction myGFStack;
TColStd_ListOfAsciiString myNameStack;
TColStd_ListOfInteger myValueStack;
ExprIntrp_SequenceOfNamedFunction myFunctions;
ExprIntrp_SequenceOfNamedExpression myNamed;
Handle(ExprIntrp_Generator) myMaster;
};
#endif // _ExprIntrp_Analysis_HeaderFile

View File

@@ -1,63 +0,0 @@
-- Created on: 1991-07-18
-- Created by: Arnaud BOUZY
-- Copyright (c) 1991-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class GenExp from ExprIntrp inherits Generator from ExprIntrp
---Purpose: This class permits, from a string, to create any
-- kind of expression of package Expr by using
-- built-in functions such as Sin,Cos, etc, and by
-- creating variables.
uses GeneralExpression from Expr,
AsciiString from TCollection
raises NoSuchObject
is
Create
---Purpose: Creates an empty generator
---Level: Advanced
returns GenExp is private;
Create( myclass ) returns GenExp;
Process(me : mutable; str : AsciiString)
---Purpose: Processes given string.
---Level: Advanced
is static;
IsDone(me)
---Purpose: Returns false if any syntax error has occurred during
-- process.
---Level: Advanced
returns Boolean
is static;
Expression(me)
---Purpose: Returns expression generated. Raises an exception if
-- IsDone answers false.
---Level: Advanced
returns any GeneralExpression
raises NoSuchObject
is static;
fields
done : Boolean;
myExpression : GeneralExpression;
end GenExp;

View File

@@ -14,10 +14,14 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ExprIntrp_GenExp.ixx>
#include <Expr_GeneralExpression.hxx>
#include <ExprIntrp.hxx>
#include <ExprIntrp_GenExp.hxx>
#include <ExprIntrp_yaccanal.hxx>
#include <Standard_NoSuchObject.hxx>
#include <Standard_Type.hxx>
#include <TCollection_AsciiString.hxx>
ExprIntrp_GenExp::ExprIntrp_GenExp ()
{

View File

@@ -0,0 +1,84 @@
// Created on: 1991-07-18
// Created by: Arnaud BOUZY
// Copyright (c) 1991-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_GenExp_HeaderFile
#define _ExprIntrp_GenExp_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Boolean.hxx>
#include <ExprIntrp_Generator.hxx>
class Expr_GeneralExpression;
class Standard_NoSuchObject;
class TCollection_AsciiString;
class ExprIntrp_GenExp;
DEFINE_STANDARD_HANDLE(ExprIntrp_GenExp, ExprIntrp_Generator)
//! This class permits, from a string, to create any
//! kind of expression of package Expr by using
//! built-in functions such as Sin,Cos, etc, and by
//! creating variables.
class ExprIntrp_GenExp : public ExprIntrp_Generator
{
public:
Standard_EXPORT static Handle(ExprIntrp_GenExp) Create();
//! Processes given string.
Standard_EXPORT void Process (const TCollection_AsciiString& str);
//! Returns false if any syntax error has occurred during
//! process.
Standard_EXPORT Standard_Boolean IsDone() const;
//! Returns expression generated. Raises an exception if
//! IsDone answers false.
Standard_EXPORT Handle(Expr_GeneralExpression) Expression() const;
DEFINE_STANDARD_RTTI(ExprIntrp_GenExp,ExprIntrp_Generator)
protected:
private:
//! Creates an empty generator
Standard_EXPORT ExprIntrp_GenExp();
Standard_Boolean done;
Handle(Expr_GeneralExpression) myExpression;
};
#endif // _ExprIntrp_GenExp_HeaderFile

View File

@@ -1,50 +0,0 @@
-- Created on: 1992-08-18
-- Created by: Arnaud BOUZY
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class GenFct from ExprIntrp inherits Generator from ExprIntrp
---Purpose: Implements an interpreter for defining functions.
-- All its functionnalities can be found in class
-- GenExp.
uses NamedFunction from Expr,
SequenceOfNamedFunction from ExprIntrp,
AsciiString from TCollection
raises NoSuchObject
is
Create
---Level: Internal
returns GenFct is private;
Create( myclass ) returns GenFct;
Process(me : mutable; str : AsciiString)
---Level: Internal
is static;
IsDone(me)
---Level: Internal
returns Boolean
is static;
fields
done : Boolean;
end GenFct;

View File

@@ -14,9 +14,13 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ExprIntrp_GenFct.ixx>
#include <ExprIntrp.hxx>
#include <ExprIntrp_GenFct.hxx>
#include <ExprIntrp_yaccanal.hxx>
#include <Standard_NoSuchObject.hxx>
#include <Standard_Type.hxx>
#include <TCollection_AsciiString.hxx>
ExprIntrp_GenFct::ExprIntrp_GenFct ()
{

View File

@@ -0,0 +1,73 @@
// Created on: 1992-08-18
// Created by: Arnaud BOUZY
// Copyright (c) 1992-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_GenFct_HeaderFile
#define _ExprIntrp_GenFct_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Boolean.hxx>
#include <ExprIntrp_Generator.hxx>
class Standard_NoSuchObject;
class TCollection_AsciiString;
class ExprIntrp_GenFct;
DEFINE_STANDARD_HANDLE(ExprIntrp_GenFct, ExprIntrp_Generator)
//! Implements an interpreter for defining functions.
//! All its functionnalities can be found in class
//! GenExp.
class ExprIntrp_GenFct : public ExprIntrp_Generator
{
public:
Standard_EXPORT static Handle(ExprIntrp_GenFct) Create();
Standard_EXPORT void Process (const TCollection_AsciiString& str);
Standard_EXPORT Standard_Boolean IsDone() const;
DEFINE_STANDARD_RTTI(ExprIntrp_GenFct,ExprIntrp_Generator)
protected:
private:
Standard_EXPORT ExprIntrp_GenFct();
Standard_Boolean done;
};
#endif // _ExprIntrp_GenFct_HeaderFile

View File

@@ -1,61 +0,0 @@
-- Created on: 1992-08-18
-- Created by: Arnaud BOUZY
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
class GenRel from ExprIntrp inherits Generator from ExprIntrp
---Purpose: Implements an interpreter for equations or system
-- of equations made of expressions of package Expr.
uses GeneralRelation from Expr,
AsciiString from TCollection
raises NoSuchObject
is
Create
---Purpose: Creates an empty generator
---Level: Advanced
returns GenRel is private;
Create( myclass ) returns GenRel;
Process(me : mutable; str : AsciiString)
---Purpose: Processes given string.
---Level: Advanced
is static;
IsDone(me)
---Purpose: Returns false if any syntax error has occurred during
-- process.
---Level: Advanced
returns Boolean
is static;
Relation(me)
---Purpose: Returns relation generated. Raises an exception if
-- IsDone answers false.
---Level: Advanced
returns GeneralRelation
raises NoSuchObject
is static;
fields
done : Boolean;
myRelation : GeneralRelation;
end GenRel;

View File

@@ -14,10 +14,14 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ExprIntrp_GenRel.ixx>
#include <Expr_GeneralRelation.hxx>
#include <ExprIntrp.hxx>
#include <ExprIntrp_GenRel.hxx>
#include <ExprIntrp_yaccanal.hxx>
#include <Standard_NoSuchObject.hxx>
#include <Standard_Type.hxx>
#include <TCollection_AsciiString.hxx>
ExprIntrp_GenRel::ExprIntrp_GenRel ()
{

View File

@@ -0,0 +1,82 @@
// Created on: 1992-08-18
// Created by: Arnaud BOUZY
// Copyright (c) 1992-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_GenRel_HeaderFile
#define _ExprIntrp_GenRel_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <Standard_Boolean.hxx>
#include <ExprIntrp_Generator.hxx>
class Expr_GeneralRelation;
class Standard_NoSuchObject;
class TCollection_AsciiString;
class ExprIntrp_GenRel;
DEFINE_STANDARD_HANDLE(ExprIntrp_GenRel, ExprIntrp_Generator)
//! Implements an interpreter for equations or system
//! of equations made of expressions of package Expr.
class ExprIntrp_GenRel : public ExprIntrp_Generator
{
public:
Standard_EXPORT static Handle(ExprIntrp_GenRel) Create();
//! Processes given string.
Standard_EXPORT void Process (const TCollection_AsciiString& str);
//! Returns false if any syntax error has occurred during
//! process.
Standard_EXPORT Standard_Boolean IsDone() const;
//! Returns relation generated. Raises an exception if
//! IsDone answers false.
Standard_EXPORT Handle(Expr_GeneralRelation) Relation() const;
DEFINE_STANDARD_RTTI(ExprIntrp_GenRel,ExprIntrp_Generator)
protected:
private:
//! Creates an empty generator
Standard_EXPORT ExprIntrp_GenRel();
Standard_Boolean done;
Handle(Expr_GeneralRelation) myRelation;
};
#endif // _ExprIntrp_GenRel_HeaderFile

View File

@@ -1,73 +0,0 @@
-- Created on: 1992-07-20
-- Created by: Arnaud BOUZY
-- Copyright (c) 1992-1999 Matra Datavision
-- Copyright (c) 1999-2014 OPEN CASCADE SAS
--
-- This file is part of Open CASCADE Technology software library.
--
-- This library is free software; you can redistribute it and/or modify it under
-- the terms of the GNU Lesser General Public License version 2.1 as published
-- by the Free Software Foundation, with special exception defined in the file
-- OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
-- distribution for complete text of the license and disclaimer of any warranty.
--
-- Alternatively, this file may be used under the terms of Open CASCADE
-- commercial license or contractual agreement.
deferred class Generator from ExprIntrp inherits TShared from MMgt
---Purpose: Implements general services for interpretation of
-- expressions.
uses NamedExpression from Expr,
NamedFunction from Expr,
SequenceOfNamedFunction from ExprIntrp,
SequenceOfNamedExpression from ExprIntrp,
AsciiString from TCollection
is
Initialize;
Use(me : mutable; func : NamedFunction)
---Level: Internal
is static;
Use(me : mutable; named : NamedExpression)
---Level: Internal
is static;
GetNamed(me)
returns SequenceOfNamedExpression
---C++: return const &
---Level: Internal
is static;
GetFunctions(me)
returns SequenceOfNamedFunction
---C++: return const &
---Level: Internal
is static;
GetNamed(me; name : AsciiString)
---Purpose: Returns NamedExpression with name <name> already
-- interpreted if it exists. Returns a null handle if
-- not.
---Level: Advanced
returns any NamedExpression
is static;
GetFunction(me; name : AsciiString)
---Purpose: Returns NamedFunction with name <name> already
-- interpreted if it exists. Returns a null handle if
-- not.
---Level: Advanced
returns any NamedFunction
is static;
fields
myFunctions : SequenceOfNamedFunction;
myNamed : SequenceOfNamedExpression;
end Generator;

View File

@@ -14,11 +14,15 @@
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#include <ExprIntrp_Generator.ixx>
//#include <ExprIntrp_yaccanal.hxx>
#include <Expr_NamedExpression.hxx>
#include <Expr_NamedFunction.hxx>
#include <ExprIntrp_Analysis.hxx>
#include <ExprIntrp_Generator.hxx>
#include <Standard_Type.hxx>
#include <TCollection_AsciiString.hxx>
//#include <ExprIntrp_yaccanal.hxx>
Standard_EXPORT ExprIntrp_Analysis ExprIntrp_Recept;

View File

@@ -0,0 +1,87 @@
// Created on: 1992-07-20
// Created by: Arnaud BOUZY
// Copyright (c) 1992-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_Generator_HeaderFile
#define _ExprIntrp_Generator_HeaderFile
#include <Standard.hxx>
#include <Standard_Type.hxx>
#include <ExprIntrp_SequenceOfNamedFunction.hxx>
#include <ExprIntrp_SequenceOfNamedExpression.hxx>
#include <MMgt_TShared.hxx>
class Expr_NamedFunction;
class Expr_NamedExpression;
class TCollection_AsciiString;
class ExprIntrp_Generator;
DEFINE_STANDARD_HANDLE(ExprIntrp_Generator, MMgt_TShared)
//! Implements general services for interpretation of
//! expressions.
class ExprIntrp_Generator : public MMgt_TShared
{
public:
Standard_EXPORT void Use (const Handle(Expr_NamedFunction)& func);
Standard_EXPORT void Use (const Handle(Expr_NamedExpression)& named);
Standard_EXPORT const ExprIntrp_SequenceOfNamedExpression& GetNamed() const;
Standard_EXPORT const ExprIntrp_SequenceOfNamedFunction& GetFunctions() const;
//! Returns NamedExpression with name <name> already
//! interpreted if it exists. Returns a null handle if
//! not.
Standard_EXPORT Handle(Expr_NamedExpression) GetNamed (const TCollection_AsciiString& name) const;
//! Returns NamedFunction with name <name> already
//! interpreted if it exists. Returns a null handle if
//! not.
Standard_EXPORT Handle(Expr_NamedFunction) GetFunction (const TCollection_AsciiString& name) const;
DEFINE_STANDARD_RTTI(ExprIntrp_Generator,MMgt_TShared)
protected:
Standard_EXPORT ExprIntrp_Generator();
private:
ExprIntrp_SequenceOfNamedFunction myFunctions;
ExprIntrp_SequenceOfNamedExpression myNamed;
};
#endif // _ExprIntrp_Generator_HeaderFile

View File

@@ -0,0 +1,37 @@
// Created on: 1991-07-18
// Created by: Arnaud BOUZY
// Copyright (c) 1991-1999 Matra Datavision
// Copyright (c) 1999-2014 OPEN CASCADE SAS
//
// This file is part of Open CASCADE Technology software library.
//
// This library is free software; you can redistribute it and/or modify it under
// the terms of the GNU Lesser General Public License version 2.1 as published
// by the Free Software Foundation, with special exception defined in the file
// OCCT_LGPL_EXCEPTION.txt. Consult the file LICENSE_LGPL_21.txt included in OCCT
// distribution for complete text of the license and disclaimer of any warranty.
//
// Alternatively, this file may be used under the terms of Open CASCADE
// commercial license or contractual agreement.
#ifndef _ExprIntrp_SyntaxError_HeaderFile
#define _ExprIntrp_SyntaxError_HeaderFile
#include <Standard_Type.hxx>
#include <Standard_DefineException.hxx>
#include <Standard_SStream.hxx>
#include <Standard_Failure.hxx>
class ExprIntrp_SyntaxError;
DEFINE_STANDARD_HANDLE(ExprIntrp_SyntaxError, Standard_Failure)
#if !defined No_Exception && !defined No_ExprIntrp_SyntaxError
#define ExprIntrp_SyntaxError_Raise_if(CONDITION, MESSAGE) \
if (CONDITION) ExprIntrp_SyntaxError::Raise(MESSAGE);
#else
#define ExprIntrp_SyntaxError_Raise_if(CONDITION, MESSAGE)
#endif
DEFINE_STANDARD_EXCEPTION(ExprIntrp_SyntaxError, Standard_Failure)
#endif // _ExprIntrp_SyntaxError_HeaderFile

View File

@@ -1,14 +1,30 @@
ExprIntrp.cxx
ExprIntrp.hxx
ExprIntrp.lex
ExprIntrp.tab.c
ExprIntrp.tab.h
ExprIntrp.yacc
ExprIntrp_Analysis.cxx
ExprIntrp_Analysis.hxx
ExprIntrp_Generator.cxx
ExprIntrp_Generator.hxx
ExprIntrp_GenExp.cxx
ExprIntrp_GenExp.hxx
ExprIntrp_GenFct.cxx
ExprIntrp_GenFct.hxx
ExprIntrp_GenRel.cxx
ExprIntrp_GenRel.hxx
ExprIntrp_ListIteratorOfStackOfGeneralExpression.hxx
ExprIntrp_ListIteratorOfStackOfGeneralFunction.hxx
ExprIntrp_ListIteratorOfStackOfGeneralRelation.hxx
ExprIntrp_SequenceOfNamedExpression.hxx
ExprIntrp_SequenceOfNamedFunction.hxx
ExprIntrp_StackOfGeneralExpression.hxx
ExprIntrp_StackOfGeneralFunction.hxx
ExprIntrp_StackOfGeneralRelation.hxx
ExprIntrp_SyntaxError.hxx
ExprIntrp_yaccanal.hxx
ExprIntrp_yaccintrf.cxx
ExprIntrp_yaccintrf.hxx
ExprIntrp_yacclex.cxx
ExprIntrp_SequenceOfNamedFunction.hxx
ExprIntrp_SequenceOfNamedExpression.hxx
ExprIntrp_StackOfGeneralExpression.hxx
ExprIntrp_ListIteratorOfStackOfGeneralExpression.hxx
ExprIntrp_StackOfGeneralRelation.hxx
ExprIntrp_ListIteratorOfStackOfGeneralRelation.hxx
ExprIntrp_StackOfGeneralFunction.hxx
ExprIntrp_ListIteratorOfStackOfGeneralFunction.hxx
lex.ExprIntrp.c

File diff suppressed because it is too large Load Diff