0023024: Update headers of OCCT files
[occt.git] / src / ExprIntrp / ExprIntrp.cxx
CommitLineData
b311480e 1// Created on: 1992-08-17
2// Created by: Arnaud BOUZY
3// Copyright (c) 1992-1999 Matra Datavision
4// Copyright (c) 1999-2012 OPEN CASCADE SAS
5//
6// The content of this file is subject to the Open CASCADE Technology Public
7// License Version 6.5 (the "License"). You may not use the content of this file
8// except in compliance with the License. Please obtain a copy of the License
9// at http://www.opencascade.org and read it completely before using this file.
10//
11// The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
12// main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
13//
14// The Original Code and all software distributed under the License is
15// distributed on an "AS IS" basis, without warranty of any kind, and the
16// Initial Developer hereby disclaims all such warranties, including without
17// limitation, any warranties of merchantability, fitness for a particular
18// purpose or non-infringement. Please see the License for the specific terms
19// and conditions governing the rights and limitations under the License.
20
7fd59977 21
22#include <ExprIntrp.ixx>
23#include <ExprIntrp_yaccintrf.hxx>
24#include <ExprIntrp_yaccanal.hxx>
25#include <Standard_ErrorHandler.hxx>
26#include <ExprIntrp_SyntaxError.hxx>
27
28TCollection_AsciiString ExprIntrp_thestring;
29Standard_Integer ExprIntrp_thecurchar=0;
30
31Standard_Boolean ExprIntrp::Parse(const Handle(ExprIntrp_Generator)& gen, const TCollection_AsciiString& str)
32{
33 ExprIntrp_Recept.SetMaster(gen);
34 ExprIntrp_thecurchar = 0;
35 if (str.Length() == 0) return Standard_False;
36 ExprIntrp_thestring = str;
37 ExprIntrp_start_string(ExprIntrp_thestring.ToCString());
38
39 int kerror=1;
40
41 {
42 try {
43 OCC_CATCH_SIGNALS
44 while (kerror!=0) {
cbc65140 45 kerror = ExprIntrpparse();
7fd59977 46 }
cbc65140 47 ExprIntrp_stop_string();
7fd59977 48 return Standard_True;
49 }
cbc65140 50 catch (Standard_Failure) {}
7fd59977 51 }
cbc65140 52 ExprIntrp_stop_string();
7fd59977 53 return Standard_False;
54}
55