0031740: Configuration - recover support of Yacc and Lex generation
[occt.git] / src / StepFile / step.lex
old mode 100755 (executable)
new mode 100644 (file)
index 565c3a8..4847895
@@ -1,21 +1,16 @@
 /* 
- Copyright (c) 1999-2012 OPEN CASCADE SAS
+ Copyright (c) 1999-2014 OPEN CASCADE SAS
 
- The content of this file is subject to the Open CASCADE Technology Public
- License Version 6.5 (the "License"). You may not use the content of this file
- except in compliance with the License. Please obtain a copy of the License
- at http://www.opencascade.org and read it completely before using this file.
+ This file is part of Open CASCADE Technology software library.
 
- The Initial Developer of the Original Code is Open CASCADE S.A.S., having its
- main offices at: 1, place des Freres Montgolfier, 78280 Guyancourt, France.
-
- The Original Code and all software distributed under the License is
- distributed on an "AS IS" basis, without warranty of any kind, and the
- Initial Developer hereby disclaims all such warranties, including without
- limitation, any warranties of merchantability, fitness for a particular
- purpose or non-infringement. Please see the License for the specific terms
- and conditions governing the rights and limitations under the License.
+ 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.
 */ 
 
 %{
@@ -29,7 +24,29 @@ long string in files Henri.stp and 401.stp*/
 #define YY_FATAL_ERROR(msg) StepFile_CallFailure( msg )
 
 /* abv 07.06.02: force inclusion of stdlib.h on WNT to avoid warnings */
+#ifdef _MSC_VER
+// add includes for flex 2.91 (Linux version)
 #include <stdlib.h>
+#include <io.h>
+
+// Avoid includion of unistd.h if parser is generated on Linux (flex 2.5.35)
+#ifndef YY_NO_UNISTD_H
+#define YY_NO_UNISTD_H
+#endif
+
+// disable MSVC warnings in flex 2.89 and 2.5.35 code
+// Note that Intel compiler also defines _MSC_VER but has different warning ids
+#if defined(__INTEL_COMPILER)
+#pragma warning(disable:177 1786 1736)
+#elif defined(__clang__)
+#pragma GCC diagnostic ignored "-Wunused-function"
+#pragma GCC diagnostic ignored "-Winconsistent-dllimport"
+#pragma GCC diagnostic ignored "-Wunneeded-internal-declaration"
+#else
+#pragma warning(disable:4131 4244 4273 4127 4267)
+#endif
+
+#endif /* MSC_VER */
 
 /*
 void steperror ( FILE *input_file );
@@ -45,11 +62,6 @@ void rec_typarg(int argtype);
   void resultat ()           /* Resultat alloue dynamiquement, "jete" une fois lu */
       { if (modcom == 0) rec_restext(yytext,yyleng); }
 
-// disable MSVC warnings in flex code
-#ifdef _MSC_VER
-#pragma warning(disable:4131 4244 4273 4267 4127)
-#endif
-
 // disable GCC warnings in flex code
 #ifdef __GNUC__
 #pragma GCC diagnostic ignored "-Wunused-function"