refactored parameterization support

diff --git a/libasn1parser/asn1p_l.c b/libasn1parser/asn1p_l.c
index 12084cc..d4f152f 100644
--- a/libasn1parser/asn1p_l.c
+++ b/libasn1parser/asn1p_l.c
@@ -28,7 +28,7 @@
 #define YY_FLEX_MINOR_VERSION 5
 
 #include <stdio.h>
-#include <errno.h>
+
 
 /* cfront 1.2 defines "c_plusplus" instead of "__cplusplus" */
 #ifdef c_plusplus
@@ -41,9 +41,7 @@
 #ifdef __cplusplus
 
 #include <stdlib.h>
-#ifndef _WIN32
 #include <unistd.h>
-#endif
 
 /* Use prototypes in function declarations. */
 #define YY_USE_PROTOS
@@ -83,7 +81,6 @@
 #define YY_PROTO(proto) ()
 #endif
 
-
 /* Returned upon end-of-file. */
 #define YY_NULL 0
 
@@ -1887,7 +1884,7 @@
 
 /* Newline */
 /* White-space */
-#line 1891 "asn1p_l.c"
+#line 1888 "asn1p_l.c"
 
 /* Macros after this point can all be overridden by user definitions in
  * section 1.
@@ -1987,20 +1984,9 @@
 			YY_FATAL_ERROR( "input in flex scanner failed" ); \
 		result = n; \
 		} \
-	else \
-		{ \
-		errno=0; \
-		while ( (result = fread(buf, 1, max_size, yyin))==0 && ferror(yyin)) \
-			{ \
-			if( errno != EINTR) \
-				{ \
-				YY_FATAL_ERROR( "input in flex scanner failed" ); \
-				break; \
-				} \
-			errno=0; \
-			clearerr(yyin); \
-			} \
-		}
+	else if ( ((result = fread( buf, 1, max_size, yyin )) == 0) \
+		  && ferror( yyin ) ) \
+		YY_FATAL_ERROR( "input in flex scanner failed" );
 #endif
 
 /* No semi-colon after return; correct usage is to write "yyterminate();" -
@@ -2052,7 +2038,7 @@
 #line 93 "asn1p_l.l"
 
 
-#line 2056 "asn1p_l.c"
+#line 2042 "asn1p_l.c"
 
 	if ( yy_init )
 		{
@@ -3112,7 +3098,7 @@
 #line 538 "asn1p_l.l"
 YY_FATAL_ERROR( "flex scanner jammed" );
 	YY_BREAK
-#line 3116 "asn1p_l.c"
+#line 3102 "asn1p_l.c"
 
 	case YY_END_OF_BUFFER:
 		{
@@ -3672,15 +3658,11 @@
 	}
 
 
-#ifndef _WIN32
-#include <unistd.h>
-#else
 #ifndef YY_ALWAYS_INTERACTIVE
 #ifndef YY_NEVER_INTERACTIVE
 extern int isatty YY_PROTO(( int ));
 #endif
 #endif
-#endif
 
 #ifdef YY_USE_PROTOS
 void yy_init_buffer( YY_BUFFER_STATE b, FILE *file )