* fixed GCC 4.4.0 mingw compilation:
authorborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 28 Apr 2009 05:09:19 +0000 (05:09 +0000)
committerborutr <borutr@4a8a32a2-be11-0410-ad9d-d568d2c75423>
Tue, 28 Apr 2009 05:09:19 +0000 (05:09 +0000)
  sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h>

git-svn-id: https://sdcc.svn.sourceforge.net/svnroot/sdcc/trunk/sdcc@5440 4a8a32a2-be11-0410-ad9d-d568d2c75423

ChangeLog
sim/ucsim/cmd.src/cmdlex.cc

index f4db078450e8e9c7bdf5d7ce80aa98f380bad2a9..a3515f02167116a4801d31c0a85ad68c9369bd5e 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2009-04-28 Borut Razem <borut.razem AT siol.net>
+
+       * fixed GCC 4.4.0 mingw compilation:
+         sim/ucsim/cmd.src/cmdlex.cc: regenerated - added #include <stdio.h>
+
 2009-04-27 Raphael Neider <rneider AT web.de>
 
         * src/pic16/gen.c (genNearPointerGet): fix double indirect
@@ -19,6 +24,7 @@
          unsigned char
 
 2009-04-19 Philipp Klaus Krause <pkk AT spth.de>
+
        * device/lib/z80/shift.s,
          device/lib/z80/memmove.s,
          device/lib/z80/mul.s,
index b567b986834e687679941ce5318383b604559879..9954ccb3561e0552d2d618747eec34d6bce8500c 100644 (file)
@@ -1,6 +1,6 @@
-#line 2 "cmdlex.cc"
+#line 2 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.cc"
 
-#line 4 "cmdlex.cc"
+#line 4 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.cc"
 
 #define  YY_INT_ALIGNED short int
 
@@ -9,13 +9,16 @@
 #define FLEX_SCANNER
 #define YY_FLEX_MAJOR_VERSION 2
 #define YY_FLEX_MINOR_VERSION 5
-#define YY_FLEX_SUBMINOR_VERSION 31
+#define YY_FLEX_SUBMINOR_VERSION 35
 #if YY_FLEX_SUBMINOR_VERSION > 0
 #define FLEX_BETA
 #endif
 
     /* The c++ scanner is a mess. The FlexLexer.h header file relies on the
-     * following macro.
+     * following macro. This is required in order to pass the c++-multiple-scanners
+     * test in the regression suite. We get reports that it breaks inheritance.
+     * We will address this in a future release of flex, or omit the C++ scanner
+     * altogether.
      */
     #define yyFlexLexer yyFlexLexer
 
 
 /* C99 systems have <inttypes.h>. Non-C99 systems may or may not. */
 
-#if defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L
+#if defined (__STDC_VERSION__) && __STDC_VERSION__ >= 199901L
+
+/* C99 says to define __STDC_LIMIT_MACROS before including stdint.h,
+ * if you want the limit (max/min) macros for int types.
+ */
+#ifndef __STDC_LIMIT_MACROS
+#define __STDC_LIMIT_MACROS 1
+#endif
+
 #include <inttypes.h>
 typedef int8_t flex_int8_t;
 typedef uint8_t flex_uint8_t;
@@ -44,7 +55,7 @@ typedef uint32_t flex_uint32_t;
 typedef signed char flex_int8_t;
 typedef short int flex_int16_t;
 typedef int flex_int32_t;
-typedef unsigned char flex_uint8_t; 
+typedef unsigned char flex_uint8_t;
 typedef unsigned short int flex_uint16_t;
 typedef unsigned int flex_uint32_t;
 #endif /* ! C99 */
@@ -81,7 +92,7 @@ typedef unsigned int flex_uint32_t;
 #endif /* ! FLEXINT_H */
 
 /* begin standard C++ headers. */
-#include <iostream> 
+#include <iostream>
 #include <errno.h>
 #include <cstdlib>
 #include <cstring>
@@ -92,14 +103,15 @@ typedef unsigned int flex_uint32_t;
 /* The "const" storage-class-modifier is valid. */
 #define YY_USE_CONST
 
-#else  /* ! __cplusplus */
+#else   /* ! __cplusplus */
 
-#if __STDC__
+/* C99 requires __STDC__ to be defined as 1. */
+#if defined (__STDC__)
 
 #define YY_USE_CONST
 
-#endif /* __STDC__ */
-#endif /* ! __cplusplus */
+#endif  /* defined (__STDC__) */
+#endif  /* ! __cplusplus */
 
 #ifdef YY_USE_CONST
 #define yyconst const
@@ -143,6 +155,10 @@ typedef unsigned int flex_uint32_t;
 #define YY_BUF_SIZE 16384
 #endif
 
+/* The state buf must be large enough to hold one state per character in the main buffer.
+ */
+#define YY_STATE_BUF_SIZE   ((YY_BUF_SIZE + 2) * sizeof(yy_state_type))
+
 #ifndef YY_TYPEDEF_YY_BUFFER_STATE
 #define YY_TYPEDEF_YY_BUFFER_STATE
 typedef struct yy_buffer_state *YY_BUFFER_STATE;
@@ -155,97 +171,92 @@ extern int yyleng;
 #define EOB_ACT_LAST_MATCH 2
 
     #define YY_LESS_LINENO(n)
-    
+
 /* Return all but the first "n" matched characters back to the input stream. */
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+        do \
+                { \
+                /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
         YY_LESS_LINENO(yyless_macro_arg);\
-               *yy_cp = (yy_hold_char); \
-               YY_RESTORE_YY_MORE_OFFSET \
-               (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
-               YY_DO_BEFORE_ACTION; /* set up yytext again */ \
-               } \
-       while ( 0 )
+                *yy_cp = (yy_hold_char); \
+                YY_RESTORE_YY_MORE_OFFSET \
+                (yy_c_buf_p) = yy_cp = yy_bp + yyless_macro_arg - YY_MORE_ADJ; \
+                YY_DO_BEFORE_ACTION; /* set up yytext again */ \
+                } \
+        while ( 0 )
 
 #define unput(c) yyunput( c, (yytext_ptr)  )
 
-/* The following is because we cannot portably get our hands on size_t
- * (without autoconf's help, which isn't available because we want
- * flex-generated scanners to compile on their own).
- */
-
 #ifndef YY_TYPEDEF_YY_SIZE_T
 #define YY_TYPEDEF_YY_SIZE_T
-typedef unsigned int yy_size_t;
+typedef size_t yy_size_t;
 #endif
 
 #ifndef YY_STRUCT_YY_BUFFER_STATE
 #define YY_STRUCT_YY_BUFFER_STATE
 struct yy_buffer_state
-       {
-
-       std::istream* yy_input_file;
-
-       char *yy_ch_buf;                /* input buffer */
-       char *yy_buf_pos;               /* current position in input buffer */
-
-       /* Size of input buffer in bytes, not including room for EOB
-        * characters.
-        */
-       yy_size_t yy_buf_size;
-
-       /* Number of characters read into yy_ch_buf, not including EOB
-        * characters.
-        */
-       int yy_n_chars;
-
-       /* Whether we "own" the buffer - i.e., we know we created it,
-        * and can realloc() it to grow it, and should free() it to
-        * delete it.
-        */
-       int yy_is_our_buffer;
-
-       /* Whether this is an "interactive" input source; if so, and
-        * if we're using stdio for input, then we want to use getc()
-        * instead of fread(), to make sure we stop fetching input after
-        * each newline.
-        */
-       int yy_is_interactive;
-
-       /* Whether we're considered to be at the beginning of a line.
-        * If so, '^' rules will be active on the next match, otherwise
-        * not.
-        */
-       int yy_at_bol;
+        {
+
+        std::istream* yy_input_file;
+
+        char *yy_ch_buf;                /* input buffer */
+        char *yy_buf_pos;               /* current position in input buffer */
+
+        /* Size of input buffer in bytes, not including room for EOB
+         * characters.
+         */
+        yy_size_t yy_buf_size;
+
+        /* Number of characters read into yy_ch_buf, not including EOB
+         * characters.
+         */
+        int yy_n_chars;
+
+        /* Whether we "own" the buffer - i.e., we know we created it,
+         * and can realloc() it to grow it, and should free() it to
+         * delete it.
+         */
+        int yy_is_our_buffer;
+
+        /* Whether this is an "interactive" input source; if so, and
+         * if we're using stdio for input, then we want to use getc()
+         * instead of fread(), to make sure we stop fetching input after
+         * each newline.
+         */
+        int yy_is_interactive;
+
+        /* Whether we're considered to be at the beginning of a line.
+         * If so, '^' rules will be active on the next match, otherwise
+         * not.
+         */
+        int yy_at_bol;
 
     int yy_bs_lineno; /**< The line count. */
     int yy_bs_column; /**< The column count. */
-    
-       /* Whether to try to fill the input buffer when we reach the
-        * end of it.
-        */
-       int yy_fill_buffer;
 
-       int yy_buffer_status;
+        /* Whether to try to fill the input buffer when we reach the
+         * end of it.
+         */
+        int yy_fill_buffer;
+
+        int yy_buffer_status;
 
 #define YY_BUFFER_NEW 0
 #define YY_BUFFER_NORMAL 1
-       /* When an EOF's been seen but there's still some text to process
-        * then we mark the buffer as YY_EOF_PENDING, to indicate that we
-        * shouldn't try reading from the input source any more.  We might
-        * still have a bunch of tokens to match, though, because of
-        * possible backing-up.
-        *
-        * When we actually see the EOF, we change the status to "new"
-        * (via yyrestart()), so that the user can continue scanning by
-        * just pointing yyin at a new input file.
-        */
+        /* When an EOF's been seen but there's still some text to process
+         * then we mark the buffer as YY_EOF_PENDING, to indicate that we
+         * shouldn't try reading from the input source any more.  We might
+         * still have a bunch of tokens to match, though, because of
+         * possible backing-up.
+         *
+         * When we actually see the EOF, we change the status to "new"
+         * (via yyrestart()), so that the user can continue scanning by
+         * just pointing yyin at a new input file.
+         */
 #define YY_BUFFER_EOF_PENDING 2
 
-       };
+        };
 #endif /* !YY_STRUCT_YY_BUFFER_STATE */
 
 /* We provide macros for accessing buffer states in case in the
@@ -270,24 +281,24 @@ void yyfree (void *  );
 #define yy_new_buffer yy_create_buffer
 
 #define yy_set_interactive(is_interactive) \
-       { \
-       if ( ! YY_CURRENT_BUFFER ){ \
+        { \
+        if ( ! YY_CURRENT_BUFFER ){ \
         yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
+                YY_CURRENT_BUFFER_LVALUE =    \
             yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
-       }
+        } \
+        YY_CURRENT_BUFFER_LVALUE->yy_is_interactive = is_interactive; \
+        }
 
 #define yy_set_bol(at_bol) \
-       { \
-       if ( ! YY_CURRENT_BUFFER ){\
+        { \
+        if ( ! YY_CURRENT_BUFFER ){\
         yyensure_buffer_stack (); \
-               YY_CURRENT_BUFFER_LVALUE =    \
+                YY_CURRENT_BUFFER_LVALUE =    \
             yy_create_buffer( yyin, YY_BUF_SIZE ); \
-       } \
-       YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
-       }
+        } \
+        YY_CURRENT_BUFFER_LVALUE->yy_at_bol = at_bol; \
+        }
 
 #define YY_AT_BOL() (YY_CURRENT_BUFFER_LVALUE->yy_at_bol)
 
@@ -304,21 +315,21 @@ typedef unsigned char YY_CHAR;
  * corresponding action - sets up yytext.
  */
 #define YY_DO_BEFORE_ACTION \
-       (yytext_ptr) = yy_bp; \
-       yyleng = (size_t) (yy_cp - yy_bp); \
-       (yy_hold_char) = *yy_cp; \
-       *yy_cp = '\0'; \
-       (yy_c_buf_p) = yy_cp;
+        (yytext_ptr) = yy_bp; \
+        yyleng = (size_t) (yy_cp - yy_bp); \
+        (yy_hold_char) = *yy_cp; \
+        *yy_cp = '\0'; \
+        (yy_c_buf_p) = yy_cp;
 
 #define YY_NUM_RULES 16
 #define YY_END_OF_BUFFER 17
 /* This struct is not used in this scanner,
    but its presence is necessary. */
 struct yy_trans_info
-       {
-       flex_int32_t yy_verify;
-       flex_int32_t yy_nxt;
-       };
+        {
+        flex_int32_t yy_verify;
+        flex_int32_t yy_nxt;
+        };
 static yyconst flex_int16_t yy_accept[27] =
     {   0,
         1,    1,   17,   15,    1,   16,   12,    6,    7,    4,
@@ -405,8 +416,9 @@ static yyconst flex_int16_t yy_chk[56] =
 #define yymore() yymore_used_but_not_detected
 #define YY_MORE_ADJ 0
 #define YY_RESTORE_YY_MORE_OFFSET
-#line 1 "cmdlex.l"
-#line 2 "cmdlex.l"
+#line 1 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
+#line 2 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
+#include <stdio.h>
 #include "cmdlexcl.h"
 #include "cmdpars.h"
 
@@ -417,7 +429,7 @@ int yywrap(void);
 #define tok(x) (YY_cl_ucsim_parser_CLASS::x)
 #define lexer_obj (dynamic_cast<class cl_ucsim_lexer *>(this))
 
-#line 421 "cmdlex.cc"
+#line 433 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.cc"
 
 #define INITIAL 0
 
@@ -461,8 +473,8 @@ static int yy_flex_strlen (yyconst char * );
 #ifndef YY_INPUT
 #define YY_INPUT(buf,result,max_size) \
 \
-       if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
-               YY_FATAL_ERROR( "input in flex scanner failed" );
+        if ( (result = LexerInput( (char *) buf, max_size )) < 0 ) \
+                YY_FATAL_ERROR( "input in flex scanner failed" );
 
 #endif
 
@@ -507,363 +519,370 @@ static int yy_flex_strlen (yyconst char * );
 #endif
 
 #define YY_RULE_SETUP \
-       YY_USER_ACTION
+        YY_USER_ACTION
 
 /** The main scanner function which does all the work.
  */
 YY_DECL
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp, *yy_bp;
-       register int yy_act;
-    
-#line 14 "cmdlex.l"
+        register yy_state_type yy_current_state;
+        register char *yy_cp, *yy_bp;
+        register int yy_act;
+
+#line 15 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 
 
-#line 524 "cmdlex.cc"
+#line 536 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.cc"
 
-       if ( (yy_init) )
-               {
-               (yy_init) = 0;
+        if ( !(yy_init) )
+                {
+                (yy_init) = 1;
 
 #ifdef YY_USER_INIT
-               YY_USER_INIT;
+                YY_USER_INIT;
 #endif
 
-               if ( ! (yy_start) )
-                       (yy_start) = 1; /* first start state */
+                if ( ! (yy_start) )
+                        (yy_start) = 1; /* first start state */
 
-               if ( ! yyin )
-                       yyin = & std::cin;
+                if ( ! yyin )
+                        yyin = & std::cin;
 
-               if ( ! yyout )
-                       yyout = & std::cout;
+                if ( ! yyout )
+                        yyout = & std::cout;
 
-               if ( ! YY_CURRENT_BUFFER ) {
-                       yyensure_buffer_stack ();
-                       YY_CURRENT_BUFFER_LVALUE =
-                               yy_create_buffer( yyin, YY_BUF_SIZE );
-               }
+                if ( ! YY_CURRENT_BUFFER ) {
+                        yyensure_buffer_stack ();
+                        YY_CURRENT_BUFFER_LVALUE =
+                                yy_create_buffer( yyin, YY_BUF_SIZE );
+                }
 
-               yy_load_buffer_state(  );
-               }
+                yy_load_buffer_state(  );
+                }
 
-       while ( 1 )             /* loops until end-of-file is reached */
-               {
-               yy_cp = (yy_c_buf_p);
+        while ( 1 )             /* loops until end-of-file is reached */
+                {
+                yy_cp = (yy_c_buf_p);
 
-               /* Support of yytext. */
-               *yy_cp = (yy_hold_char);
+                /* Support of yytext. */
+                *yy_cp = (yy_hold_char);
 
-               /* yy_bp points to the position in yy_ch_buf of the start of
-                * the current run.
-                */
-               yy_bp = yy_cp;
+                /* yy_bp points to the position in yy_ch_buf of the start of
+                 * the current run.
+                 */
+                yy_bp = yy_cp;
 
-               yy_current_state = (yy_start);
+                yy_current_state = (yy_start);
 yy_match:
-               do
-                       {
-                       register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
-                       if ( yy_accept[yy_current_state] )
-                               {
-                               (yy_last_accepting_state) = yy_current_state;
-                               (yy_last_accepting_cpos) = yy_cp;
-                               }
-                       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                               {
-                               yy_current_state = (int) yy_def[yy_current_state];
-                               if ( yy_current_state >= 27 )
-                                       yy_c = yy_meta[(unsigned int) yy_c];
-                               }
-                       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-                       ++yy_cp;
-                       }
-               while ( yy_base[yy_current_state] != 36 );
+                do
+                        {
+                        register YY_CHAR yy_c = yy_ec[YY_SC_TO_UI(*yy_cp)];
+                        if ( yy_accept[yy_current_state] )
+                                {
+                                (yy_last_accepting_state) = yy_current_state;
+                                (yy_last_accepting_cpos) = yy_cp;
+                                }
+                        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+                                {
+                                yy_current_state = (int) yy_def[yy_current_state];
+                                if ( yy_current_state >= 27 )
+                                        yy_c = yy_meta[(unsigned int) yy_c];
+                                }
+                        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                        ++yy_cp;
+                        }
+                while ( yy_base[yy_current_state] != 36 );
 
 yy_find_action:
-               yy_act = yy_accept[yy_current_state];
-               if ( yy_act == 0 )
-                       { /* have to back up */
-                       yy_cp = (yy_last_accepting_cpos);
-                       yy_current_state = (yy_last_accepting_state);
-                       yy_act = yy_accept[yy_current_state];
-                       }
-
-               YY_DO_BEFORE_ACTION;
-
-do_action:     /* This label is used only to access EOF actions. */
-
-               switch ( yy_act )
-       { /* beginning of action switch */
-                       case 0: /* must back up */
-                       /* undo the effects of YY_DO_BEFORE_ACTION */
-                       *yy_cp = (yy_hold_char);
-                       yy_cp = (yy_last_accepting_cpos);
-                       yy_current_state = (yy_last_accepting_state);
-                       goto yy_find_action;
+                yy_act = yy_accept[yy_current_state];
+                if ( yy_act == 0 )
+                        { /* have to back up */
+                        yy_cp = (yy_last_accepting_cpos);
+                        yy_current_state = (yy_last_accepting_state);
+                        yy_act = yy_accept[yy_current_state];
+                        }
+
+                YY_DO_BEFORE_ACTION;
+
+do_action:      /* This label is used only to access EOF actions. */
+
+                switch ( yy_act )
+        { /* beginning of action switch */
+                        case 0: /* must back up */
+                        /* undo the effects of YY_DO_BEFORE_ACTION */
+                        *yy_cp = (yy_hold_char);
+                        yy_cp = (yy_last_accepting_cpos);
+                        yy_current_state = (yy_last_accepting_state);
+                        goto yy_find_action;
 
 case 1:
 YY_RULE_SETUP
-#line 16 "cmdlex.l"
+#line 17 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 ;
-       YY_BREAK
+        YY_BREAK
 case 2:
 YY_RULE_SETUP
-#line 18 "cmdlex.l"
+#line 19 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_PLUS));
-       YY_BREAK
+        YY_BREAK
 case 3:
 YY_RULE_SETUP
-#line 19 "cmdlex.l"
+#line 20 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_MINUS));
-       YY_BREAK
+        YY_BREAK
 case 4:
 YY_RULE_SETUP
-#line 20 "cmdlex.l"
+#line 21 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_ASTERIX));
-       YY_BREAK
+        YY_BREAK
 case 5:
 YY_RULE_SETUP
-#line 21 "cmdlex.l"
+#line 22 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_SLASH));
-       YY_BREAK
+        YY_BREAK
 case 6:
 YY_RULE_SETUP
-#line 22 "cmdlex.l"
+#line 23 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_LEFT_PAREN));
-       YY_BREAK
+        YY_BREAK
 case 7:
 YY_RULE_SETUP
-#line 23 "cmdlex.l"
+#line 24 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_RIGHT_PAREN));
-       YY_BREAK
+        YY_BREAK
 case 8:
 YY_RULE_SETUP
-#line 24 "cmdlex.l"
+#line 25 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_LEFT_BRACKET));
-       YY_BREAK
+        YY_BREAK
 case 9:
 YY_RULE_SETUP
-#line 25 "cmdlex.l"
+#line 26 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_RIGHT_BRACKET));
-       YY_BREAK
+        YY_BREAK
 case 10:
 YY_RULE_SETUP
-#line 26 "cmdlex.l"
+#line 27 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_EQUAL));
-       YY_BREAK
+        YY_BREAK
 case 11:
 YY_RULE_SETUP
-#line 27 "cmdlex.l"
+#line 28 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_DOT));
-       YY_BREAK
+        YY_BREAK
 case 12:
 YY_RULE_SETUP
-#line 28 "cmdlex.l"
+#line 29 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(tok(PTOK_AMPERSAND));
-       YY_BREAK
+        YY_BREAK
 case 13:
 YY_RULE_SETUP
-#line 30 "cmdlex.l"
+#line 31 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 {
   yylval->number= strtol(yytext, 0, 0);
   return(YY_cl_ucsim_parser_CLASS::PTOK_NUMBER);
 }
-       YY_BREAK
+        YY_BREAK
 case 14:
 YY_RULE_SETUP
-#line 35 "cmdlex.l"
+#line 36 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 return(lexer_obj->check_id(yytext));
-       YY_BREAK
+        YY_BREAK
 case 15:
 YY_RULE_SETUP
-#line 37 "cmdlex.l"
+#line 38 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 ;
-       YY_BREAK
+        YY_BREAK
 case 16:
 YY_RULE_SETUP
-#line 39 "cmdlex.l"
+#line 40 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 ECHO;
-       YY_BREAK
-#line 690 "cmdlex.cc"
+        YY_BREAK
+#line 702 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.cc"
 case YY_STATE_EOF(INITIAL):
-       yyterminate();
-
-       case YY_END_OF_BUFFER:
-               {
-               /* Amount of text matched not including the EOB char. */
-               int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
-
-               /* Undo the effects of YY_DO_BEFORE_ACTION. */
-               *yy_cp = (yy_hold_char);
-               YY_RESTORE_YY_MORE_OFFSET
-
-               if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
-                       {
-                       /* We're scanning a new file or input source.  It's
-                        * possible that this happened because the user
-                        * just pointed yyin at a new source and called
-                        * yylex().  If so, then we have to assure
-                        * consistency between YY_CURRENT_BUFFER and our
-                        * globals.  Here is the right place to do so, because
-                        * this is the first action (other than possibly a
-                        * back-up) that will match for the new input source.
-                        */
-                       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-                       YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
-                       }
-
-               /* Note that here we test for yy_c_buf_p "<=" to the position
-                * of the first EOB in the buffer, since yy_c_buf_p will
-                * already have been incremented past the NUL character
-                * (since all states make transitions on EOB to the
-                * end-of-buffer state).  Contrast this with the test
-                * in input().
-                */
-               if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-                       { /* This was really a NUL. */
-                       yy_state_type yy_next_state;
-
-                       (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
-
-                       yy_current_state = yy_get_previous_state(  );
-
-                       /* Okay, we're now positioned to make the NUL
-                        * transition.  We couldn't have
-                        * yy_get_previous_state() go ahead and do it
-                        * for us because it doesn't know how to deal
-                        * with the possibility of jamming (and we don't
-                        * want to build jamming into it because then it
-                        * will run more slowly).
-                        */
-
-                       yy_next_state = yy_try_NUL_trans( yy_current_state );
-
-                       yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-
-                       if ( yy_next_state )
-                               {
-                               /* Consume the NUL. */
-                               yy_cp = ++(yy_c_buf_p);
-                               yy_current_state = yy_next_state;
-                               goto yy_match;
-                               }
-
-                       else
-                               {
-                               yy_cp = (yy_c_buf_p);
-                               goto yy_find_action;
-                               }
-                       }
-
-               else switch ( yy_get_next_buffer(  ) )
-                       {
-                       case EOB_ACT_END_OF_FILE:
-                               {
-                               (yy_did_buffer_switch_on_eof) = 0;
-
-                               if ( yywrap(  ) )
-                                       {
-                                       /* Note: because we've taken care in
-                                        * yy_get_next_buffer() to have set up
-                                        * yytext, we can now set up
-                                        * yy_c_buf_p so that if some total
-                                        * hoser (like flex itself) wants to
-                                        * call the scanner after we return the
-                                        * YY_NULL, it'll still work - another
-                                        * YY_NULL will get returned.
-                                        */
-                                       (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
-
-                                       yy_act = YY_STATE_EOF(YY_START);
-                                       goto do_action;
-                                       }
-
-                               else
-                                       {
-                                       if ( ! (yy_did_buffer_switch_on_eof) )
-                                               YY_NEW_FILE;
-                                       }
-                               break;
-                               }
-
-                       case EOB_ACT_CONTINUE_SCAN:
-                               (yy_c_buf_p) =
-                                       (yytext_ptr) + yy_amount_of_matched_text;
-
-                               yy_current_state = yy_get_previous_state(  );
-
-                               yy_cp = (yy_c_buf_p);
-                               yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-                               goto yy_match;
-
-                       case EOB_ACT_LAST_MATCH:
-                               (yy_c_buf_p) =
-                               &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
-
-                               yy_current_state = yy_get_previous_state(  );
-
-                               yy_cp = (yy_c_buf_p);
-                               yy_bp = (yytext_ptr) + YY_MORE_ADJ;
-                               goto yy_find_action;
-                       }
-               break;
-               }
-
-       default:
-               YY_FATAL_ERROR(
-                       "fatal flex scanner internal error--no action found" );
-       } /* end of action switch */
-               } /* end of scanning one token */
+        yyterminate();
+
+        case YY_END_OF_BUFFER:
+                {
+                /* Amount of text matched not including the EOB char. */
+                int yy_amount_of_matched_text = (int) (yy_cp - (yytext_ptr)) - 1;
+
+                /* Undo the effects of YY_DO_BEFORE_ACTION. */
+                *yy_cp = (yy_hold_char);
+                YY_RESTORE_YY_MORE_OFFSET
+
+                if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_NEW )
+                        {
+                        /* We're scanning a new file or input source.  It's
+                         * possible that this happened because the user
+                         * just pointed yyin at a new source and called
+                         * yylex().  If so, then we have to assure
+                         * consistency between YY_CURRENT_BUFFER and our
+                         * globals.  Here is the right place to do so, because
+                         * this is the first action (other than possibly a
+                         * back-up) that will match for the new input source.
+                         */
+                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+                        YY_CURRENT_BUFFER_LVALUE->yy_input_file = yyin;
+                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status = YY_BUFFER_NORMAL;
+                        }
+
+                /* Note that here we test for yy_c_buf_p "<=" to the position
+                 * of the first EOB in the buffer, since yy_c_buf_p will
+                 * already have been incremented past the NUL character
+                 * (since all states make transitions on EOB to the
+                 * end-of-buffer state).  Contrast this with the test
+                 * in input().
+                 */
+                if ( (yy_c_buf_p) <= &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+                        { /* This was really a NUL. */
+                        yy_state_type yy_next_state;
+
+                        (yy_c_buf_p) = (yytext_ptr) + yy_amount_of_matched_text;
+
+                        yy_current_state = yy_get_previous_state(  );
+
+                        /* Okay, we're now positioned to make the NUL
+                         * transition.  We couldn't have
+                         * yy_get_previous_state() go ahead and do it
+                         * for us because it doesn't know how to deal
+                         * with the possibility of jamming (and we don't
+                         * want to build jamming into it because then it
+                         * will run more slowly).
+                         */
+
+                        yy_next_state = yy_try_NUL_trans( yy_current_state );
+
+                        yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+
+                        if ( yy_next_state )
+                                {
+                                /* Consume the NUL. */
+                                yy_cp = ++(yy_c_buf_p);
+                                yy_current_state = yy_next_state;
+                                goto yy_match;
+                                }
+
+                        else
+                                {
+                                yy_cp = (yy_c_buf_p);
+                                goto yy_find_action;
+                                }
+                        }
+
+                else switch ( yy_get_next_buffer(  ) )
+                        {
+                        case EOB_ACT_END_OF_FILE:
+                                {
+                                (yy_did_buffer_switch_on_eof) = 0;
+
+                                if ( yywrap(  ) )
+                                        {
+                                        /* Note: because we've taken care in
+                                         * yy_get_next_buffer() to have set up
+                                         * yytext, we can now set up
+                                         * yy_c_buf_p so that if some total
+                                         * hoser (like flex itself) wants to
+                                         * call the scanner after we return the
+                                         * YY_NULL, it'll still work - another
+                                         * YY_NULL will get returned.
+                                         */
+                                        (yy_c_buf_p) = (yytext_ptr) + YY_MORE_ADJ;
+
+                                        yy_act = YY_STATE_EOF(YY_START);
+                                        goto do_action;
+                                        }
+
+                                else
+                                        {
+                                        if ( ! (yy_did_buffer_switch_on_eof) )
+                                                YY_NEW_FILE;
+                                        }
+                                break;
+                                }
+
+                        case EOB_ACT_CONTINUE_SCAN:
+                                (yy_c_buf_p) =
+                                        (yytext_ptr) + yy_amount_of_matched_text;
+
+                                yy_current_state = yy_get_previous_state(  );
+
+                                yy_cp = (yy_c_buf_p);
+                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+                                goto yy_match;
+
+                        case EOB_ACT_LAST_MATCH:
+                                (yy_c_buf_p) =
+                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)];
+
+                                yy_current_state = yy_get_previous_state(  );
+
+                                yy_cp = (yy_c_buf_p);
+                                yy_bp = (yytext_ptr) + YY_MORE_ADJ;
+                                goto yy_find_action;
+                        }
+                break;
+                }
+
+        default:
+                YY_FATAL_ERROR(
+                        "fatal flex scanner internal error--no action found" );
+        } /* end of action switch */
+                } /* end of scanning one token */
 } /* end of yylex */
 
+/* The contents of this function are C++ specific, so the () macro is not used.
+ */
 yyFlexLexer::yyFlexLexer( std::istream* arg_yyin, std::ostream* arg_yyout )
 {
-       yyin = arg_yyin;
-       yyout = arg_yyout;
-       yy_c_buf_p = 0;
-       yy_init = 1;
-       yy_start = 0;
-       yy_flex_debug = 0;
-       yylineno = 1;   // this will only get updated if %option yylineno
+        yyin = arg_yyin;
+        yyout = arg_yyout;
+        yy_c_buf_p = 0;
+        yy_init = 0;
+        yy_start = 0;
+        yy_flex_debug = 0;
+        yylineno = 1;   // this will only get updated if %option yylineno
 
-       yy_did_buffer_switch_on_eof = 0;
+        yy_did_buffer_switch_on_eof = 0;
 
-       yy_looking_for_trail_begin = 0;
-       yy_more_flag = 0;
-       yy_more_len = 0;
-       yy_more_offset = yy_prev_more_offset = 0;
+        yy_looking_for_trail_begin = 0;
+        yy_more_flag = 0;
+        yy_more_len = 0;
+        yy_more_offset = yy_prev_more_offset = 0;
 
-       yy_start_stack_ptr = yy_start_stack_depth = 0;
-       yy_start_stack = 0;
+        yy_start_stack_ptr = yy_start_stack_depth = 0;
+        yy_start_stack = NULL;
 
-    (yy_buffer_stack) = 0;
-    (yy_buffer_stack_top) = 0;
-    (yy_buffer_stack_max) = 0;
+        yy_buffer_stack = 0;
+        yy_buffer_stack_top = 0;
+        yy_buffer_stack_max = 0;
 
-       yy_state_buf = 0;
+        yy_state_buf = 0;
 
 }
 
+/* The contents of this function are C++ specific, so the () macro is not used.
+ */
 yyFlexLexer::~yyFlexLexer()
 {
-       delete [] yy_state_buf;
-       yyfree(yy_start_stack  );
-       yy_delete_buffer( YY_CURRENT_BUFFER );
+        delete [] yy_state_buf;
+        yyfree(yy_start_stack  );
+        yy_delete_buffer( YY_CURRENT_BUFFER );
+        yyfree(yy_buffer_stack  );
 }
 
+/* The contents of this function are C++ specific, so the () macro is not used.
+ */
 void yyFlexLexer::switch_streams( std::istream* new_in, std::ostream* new_out )
 {
-       if ( new_in )
-               {
-               yy_delete_buffer( YY_CURRENT_BUFFER );
-               yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE  ) );
-               }
-
-       if ( new_out )
-               yyout = new_out;
+        if ( new_in )
+                {
+                yy_delete_buffer( YY_CURRENT_BUFFER );
+                yy_switch_to_buffer( yy_create_buffer( new_in, YY_BUF_SIZE  ) );
+                }
+
+        if ( new_out )
+                yyout = new_out;
 }
 
 #ifdef YY_INTERACTIVE
@@ -872,435 +891,443 @@ int yyFlexLexer::LexerInput( char* buf, int /* max_size */ )
 int yyFlexLexer::LexerInput( char* buf, int max_size )
 #endif
 {
-       if ( yyin->eof() || yyin->fail() )
-               return 0;
+        if ( yyin->eof() || yyin->fail() )
+                return 0;
 
 #ifdef YY_INTERACTIVE
-       yyin->get( buf[0] );
+        yyin->get( buf[0] );
 
-       if ( yyin->eof() )
-               return 0;
+        if ( yyin->eof() )
+                return 0;
 
-       if ( yyin->bad() )
-               return -1;
+        if ( yyin->bad() )
+                return -1;
 
-       return 1;
+        return 1;
 
 #else
-       (void) yyin->read( buf, max_size );
+        (void) yyin->read( buf, max_size );
 
-       if ( yyin->bad() )
-               return -1;
-       else
-               return yyin->gcount();
+        if ( yyin->bad() )
+                return -1;
+        else
+                return yyin->gcount();
 #endif
 }
 
 void yyFlexLexer::LexerOutput( const char* buf, int size )
 {
-       (void) yyout->write( buf, size );
+        (void) yyout->write( buf, size );
 }
 
 /* yy_get_next_buffer - try to read in a new buffer
  *
  * Returns a code representing an action:
- *     EOB_ACT_LAST_MATCH -
- *     EOB_ACT_CONTINUE_SCAN - continue scanning from current position
- *     EOB_ACT_END_OF_FILE - end of file
+ *      EOB_ACT_LAST_MATCH -
+ *      EOB_ACT_CONTINUE_SCAN - continue scanning from current position
+ *      EOB_ACT_END_OF_FILE - end of file
  */
 int yyFlexLexer::yy_get_next_buffer()
 {
-       register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
-       register char *source = (yytext_ptr);
-       register int number_to_move, i;
-       int ret_val;
-
-       if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
-               YY_FATAL_ERROR(
-               "fatal flex scanner internal error--end of buffer missed" );
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
-               { /* Don't try to fill the buffer, so this is an EOF. */
-               if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
-                       {
-                       /* We matched a single character, the EOB, so
-                        * treat this as a final EOF.
-                        */
-                       return EOB_ACT_END_OF_FILE;
-                       }
-
-               else
-                       {
-                       /* We matched some text prior to the EOB, first
-                        * process it.
-                        */
-                       return EOB_ACT_LAST_MATCH;
-                       }
-               }
-
-       /* Try to read more data. */
-
-       /* First move last chars to start of buffer. */
-       number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
-
-       for ( i = 0; i < number_to_move; ++i )
-               *(dest++) = *(source++);
-
-       if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
-               /* don't do the read, it's not guaranteed to return an EOF,
-                * just force an EOF
-                */
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
-
-       else
-               {
-                       size_t num_to_read =
-                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
-
-               while ( num_to_read <= 0 )
-                       { /* Not enough room in the buffer - grow it. */
-
-                       /* just a shorter name for the current buffer */
-                       YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
-
-                       int yy_c_buf_p_offset =
-                               (int) ((yy_c_buf_p) - b->yy_ch_buf);
-
-                       if ( b->yy_is_our_buffer )
-                               {
-                               int new_size = b->yy_buf_size * 2;
-
-                               if ( new_size <= 0 )
-                                       b->yy_buf_size += b->yy_buf_size / 8;
-                               else
-                                       b->yy_buf_size *= 2;
-
-                               b->yy_ch_buf = (char *)
-                                       /* Include room in for 2 EOB chars. */
-                                       yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
-                               }
-                       else
-                               /* Can't grow it, we don't own it. */
-                               b->yy_ch_buf = 0;
-
-                       if ( ! b->yy_ch_buf )
-                               YY_FATAL_ERROR(
-                               "fatal error - scanner input buffer overflow" );
-
-                       (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
-
-                       num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
-                                               number_to_move - 1;
-
-                       }
-
-               if ( num_to_read > YY_READ_BUF_SIZE )
-                       num_to_read = YY_READ_BUF_SIZE;
-
-               /* Read in more data. */
-               YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
-                       (yy_n_chars), num_to_read );
-
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
-
-       if ( (yy_n_chars) == 0 )
-               {
-               if ( number_to_move == YY_MORE_ADJ )
-                       {
-                       ret_val = EOB_ACT_END_OF_FILE;
-                       yyrestart( yyin  );
-                       }
-
-               else
-                       {
-                       ret_val = EOB_ACT_LAST_MATCH;
-                       YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
-                               YY_BUFFER_EOF_PENDING;
-                       }
-               }
-
-       else
-               ret_val = EOB_ACT_CONTINUE_SCAN;
-
-       (yy_n_chars) += number_to_move;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
-       YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
-
-       (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
+        register char *dest = YY_CURRENT_BUFFER_LVALUE->yy_ch_buf;
+        register char *source = (yytext_ptr);
+        register int number_to_move, i;
+        int ret_val;
+
+        if ( (yy_c_buf_p) > &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] )
+                YY_FATAL_ERROR(
+                "fatal flex scanner internal error--end of buffer missed" );
+
+        if ( YY_CURRENT_BUFFER_LVALUE->yy_fill_buffer == 0 )
+                { /* Don't try to fill the buffer, so this is an EOF. */
+                if ( (yy_c_buf_p) - (yytext_ptr) - YY_MORE_ADJ == 1 )
+                        {
+                        /* We matched a single character, the EOB, so
+                         * treat this as a final EOF.
+                         */
+                        return EOB_ACT_END_OF_FILE;
+                        }
+
+                else
+                        {
+                        /* We matched some text prior to the EOB, first
+                         * process it.
+                         */
+                        return EOB_ACT_LAST_MATCH;
+                        }
+                }
+
+        /* Try to read more data. */
+
+        /* First move last chars to start of buffer. */
+        number_to_move = (int) ((yy_c_buf_p) - (yytext_ptr)) - 1;
+
+        for ( i = 0; i < number_to_move; ++i )
+                *(dest++) = *(source++);
+
+        if ( YY_CURRENT_BUFFER_LVALUE->yy_buffer_status == YY_BUFFER_EOF_PENDING )
+                /* don't do the read, it's not guaranteed to return an EOF,
+                 * just force an EOF
+                 */
+                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars) = 0;
+
+        else
+                {
+                        int num_to_read =
+                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size - number_to_move - 1;
+
+                while ( num_to_read <= 0 )
+                        { /* Not enough room in the buffer - grow it. */
+
+                        /* just a shorter name for the current buffer */
+                        YY_BUFFER_STATE b = YY_CURRENT_BUFFER;
+
+                        int yy_c_buf_p_offset =
+                                (int) ((yy_c_buf_p) - b->yy_ch_buf);
+
+                        if ( b->yy_is_our_buffer )
+                                {
+                                int new_size = b->yy_buf_size * 2;
+
+                                if ( new_size <= 0 )
+                                        b->yy_buf_size += b->yy_buf_size / 8;
+                                else
+                                        b->yy_buf_size *= 2;
+
+                                b->yy_ch_buf = (char *)
+                                        /* Include room in for 2 EOB chars. */
+                                        yyrealloc((void *) b->yy_ch_buf,b->yy_buf_size + 2  );
+                                }
+                        else
+                                /* Can't grow it, we don't own it. */
+                                b->yy_ch_buf = 0;
+
+                        if ( ! b->yy_ch_buf )
+                                YY_FATAL_ERROR(
+                                "fatal error - scanner input buffer overflow" );
+
+                        (yy_c_buf_p) = &b->yy_ch_buf[yy_c_buf_p_offset];
+
+                        num_to_read = YY_CURRENT_BUFFER_LVALUE->yy_buf_size -
+                                                number_to_move - 1;
+
+                        }
+
+                if ( num_to_read > YY_READ_BUF_SIZE )
+                        num_to_read = YY_READ_BUF_SIZE;
+
+                /* Read in more data. */
+                YY_INPUT( (&YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move]),
+                        (yy_n_chars), (size_t) num_to_read );
+
+                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+                }
+
+        if ( (yy_n_chars) == 0 )
+                {
+                if ( number_to_move == YY_MORE_ADJ )
+                        {
+                        ret_val = EOB_ACT_END_OF_FILE;
+                        yyrestart( yyin  );
+                        }
+
+                else
+                        {
+                        ret_val = EOB_ACT_LAST_MATCH;
+                        YY_CURRENT_BUFFER_LVALUE->yy_buffer_status =
+                                YY_BUFFER_EOF_PENDING;
+                        }
+                }
+
+        else
+                ret_val = EOB_ACT_CONTINUE_SCAN;
+
+        if ((yy_size_t) ((yy_n_chars) + number_to_move) > YY_CURRENT_BUFFER_LVALUE->yy_buf_size) {
+                /* Extend the array by 50%, plus the number we really need. */
+                yy_size_t new_size = (yy_n_chars) + number_to_move + ((yy_n_chars) >> 1);
+                YY_CURRENT_BUFFER_LVALUE->yy_ch_buf = (char *) yyrealloc((void *) YY_CURRENT_BUFFER_LVALUE->yy_ch_buf,new_size  );
+                if ( ! YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+                        YY_FATAL_ERROR( "out of dynamic memory in yy_get_next_buffer()" );
+        }
+
+        (yy_n_chars) += number_to_move;
+        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] = YY_END_OF_BUFFER_CHAR;
+        YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars) + 1] = YY_END_OF_BUFFER_CHAR;
+
+        (yytext_ptr) = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[0];
 
-       return ret_val;
+        return ret_val;
 }
 
 /* yy_get_previous_state - get the state just before the EOB char was reached */
 
     yy_state_type yyFlexLexer::yy_get_previous_state()
 {
-       register yy_state_type yy_current_state;
-       register char *yy_cp;
-    
-       yy_current_state = (yy_start);
-
-       for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
-               {
-               register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
-               if ( yy_accept[yy_current_state] )
-                       {
-                       (yy_last_accepting_state) = yy_current_state;
-                       (yy_last_accepting_cpos) = yy_cp;
-                       }
-               while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-                       {
-                       yy_current_state = (int) yy_def[yy_current_state];
-                       if ( yy_current_state >= 27 )
-                               yy_c = yy_meta[(unsigned int) yy_c];
-                       }
-               yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-               }
-
-       return yy_current_state;
+        register yy_state_type yy_current_state;
+        register char *yy_cp;
+
+        yy_current_state = (yy_start);
+
+        for ( yy_cp = (yytext_ptr) + YY_MORE_ADJ; yy_cp < (yy_c_buf_p); ++yy_cp )
+                {
+                register YY_CHAR yy_c = (*yy_cp ? yy_ec[YY_SC_TO_UI(*yy_cp)] : 1);
+                if ( yy_accept[yy_current_state] )
+                        {
+                        (yy_last_accepting_state) = yy_current_state;
+                        (yy_last_accepting_cpos) = yy_cp;
+                        }
+                while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+                        {
+                        yy_current_state = (int) yy_def[yy_current_state];
+                        if ( yy_current_state >= 27 )
+                                yy_c = yy_meta[(unsigned int) yy_c];
+                        }
+                yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+                }
+
+        return yy_current_state;
 }
 
 /* yy_try_NUL_trans - try to make a transition on the NUL character
  *
  * synopsis
- *     next_state = yy_try_NUL_trans( current_state );
+ *      next_state = yy_try_NUL_trans( current_state );
  */
     yy_state_type yyFlexLexer::yy_try_NUL_trans( yy_state_type yy_current_state )
 {
-       register int yy_is_jam;
-       register char *yy_cp = (yy_c_buf_p);
-
-       register YY_CHAR yy_c = 1;
-       if ( yy_accept[yy_current_state] )
-               {
-               (yy_last_accepting_state) = yy_current_state;
-               (yy_last_accepting_cpos) = yy_cp;
-               }
-       while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
-               {
-               yy_current_state = (int) yy_def[yy_current_state];
-               if ( yy_current_state >= 27 )
-                       yy_c = yy_meta[(unsigned int) yy_c];
-               }
-       yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
-       yy_is_jam = (yy_current_state == 26);
-
-       return yy_is_jam ? 0 : yy_current_state;
+        register int yy_is_jam;
+        register char *yy_cp = (yy_c_buf_p);
+
+        register YY_CHAR yy_c = 1;
+        if ( yy_accept[yy_current_state] )
+                {
+                (yy_last_accepting_state) = yy_current_state;
+                (yy_last_accepting_cpos) = yy_cp;
+                }
+        while ( yy_chk[yy_base[yy_current_state] + yy_c] != yy_current_state )
+                {
+                yy_current_state = (int) yy_def[yy_current_state];
+                if ( yy_current_state >= 27 )
+                        yy_c = yy_meta[(unsigned int) yy_c];
+                }
+        yy_current_state = yy_nxt[yy_base[yy_current_state] + (unsigned int) yy_c];
+        yy_is_jam = (yy_current_state == 26);
+
+        return yy_is_jam ? 0 : yy_current_state;
 }
 
     void yyFlexLexer::yyunput( int c, register char* yy_bp)
 {
-       register char *yy_cp;
-    
+        register char *yy_cp;
+
     yy_cp = (yy_c_buf_p);
 
-       /* undo effects of setting up yytext */
-       *yy_cp = (yy_hold_char);
+        /* undo effects of setting up yytext */
+        *yy_cp = (yy_hold_char);
 
-       if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
-               { /* need to shift things up to make room */
-               /* +2 for EOB chars. */
-               register int number_to_move = (yy_n_chars) + 2;
-               register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
-                                       YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
-               register char *source =
-                               &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
+        if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+                { /* need to shift things up to make room */
+                /* +2 for EOB chars. */
+                register int number_to_move = (yy_n_chars) + 2;
+                register char *dest = &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[
+                                        YY_CURRENT_BUFFER_LVALUE->yy_buf_size + 2];
+                register char *source =
+                                &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[number_to_move];
 
-               while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
-                       *--dest = *--source;
+                while ( source > YY_CURRENT_BUFFER_LVALUE->yy_ch_buf )
+                        *--dest = *--source;
 
-               yy_cp += (int) (dest - source);
-               yy_bp += (int) (dest - source);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
-                       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
+                yy_cp += (int) (dest - source);
+                yy_bp += (int) (dest - source);
+                YY_CURRENT_BUFFER_LVALUE->yy_n_chars =
+                        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_buf_size;
 
-               if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
-                       YY_FATAL_ERROR( "flex scanner push-back overflow" );
-               }
+                if ( yy_cp < YY_CURRENT_BUFFER_LVALUE->yy_ch_buf + 2 )
+                        YY_FATAL_ERROR( "flex scanner push-back overflow" );
+                }
 
-       *--yy_cp = (char) c;
+        *--yy_cp = (char) c;
 
-       (yytext_ptr) = yy_bp;
-       (yy_hold_char) = *yy_cp;
-       (yy_c_buf_p) = yy_cp;
+        (yytext_ptr) = yy_bp;
+        (yy_hold_char) = *yy_cp;
+        (yy_c_buf_p) = yy_cp;
 }
 
     int yyFlexLexer::yyinput()
 {
-       int c;
-    
-       *(yy_c_buf_p) = (yy_hold_char);
-
-       if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
-               {
-               /* yy_c_buf_p now points to the character we want to return.
-                * If this occurs *before* the EOB characters, then it's a
-                * valid NUL; if not, then we've hit the end of the buffer.
-                */
-               if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
-                       /* This was really a NUL. */
-                       *(yy_c_buf_p) = '\0';
-
-               else
-                       { /* need more input */
-                       int offset = (yy_c_buf_p) - (yytext_ptr);
-                       ++(yy_c_buf_p);
-
-                       switch ( yy_get_next_buffer(  ) )
-                               {
-                               case EOB_ACT_LAST_MATCH:
-                                       /* This happens because yy_g_n_b()
-                                        * sees that we've accumulated a
-                                        * token and flags that we need to
-                                        * try matching the token before
-                                        * proceeding.  But for input(),
-                                        * there's no matching to consider.
-                                        * So convert the EOB_ACT_LAST_MATCH
-                                        * to EOB_ACT_END_OF_FILE.
-                                        */
-
-                                       /* Reset buffer status. */
-                                       yyrestart( yyin );
-
-                                       /*FALLTHROUGH*/
-
-                               case EOB_ACT_END_OF_FILE:
-                                       {
-                                       if ( yywrap(  ) )
-                                               return EOF;
-
-                                       if ( ! (yy_did_buffer_switch_on_eof) )
-                                               YY_NEW_FILE;
+        int c;
+
+        *(yy_c_buf_p) = (yy_hold_char);
+
+        if ( *(yy_c_buf_p) == YY_END_OF_BUFFER_CHAR )
+                {
+                /* yy_c_buf_p now points to the character we want to return.
+                 * If this occurs *before* the EOB characters, then it's a
+                 * valid NUL; if not, then we've hit the end of the buffer.
+                 */
+                if ( (yy_c_buf_p) < &YY_CURRENT_BUFFER_LVALUE->yy_ch_buf[(yy_n_chars)] )
+                        /* This was really a NUL. */
+                        *(yy_c_buf_p) = '\0';
+
+                else
+                        { /* need more input */
+                        int offset = (yy_c_buf_p) - (yytext_ptr);
+                        ++(yy_c_buf_p);
+
+                        switch ( yy_get_next_buffer(  ) )
+                                {
+                                case EOB_ACT_LAST_MATCH:
+                                        /* This happens because yy_g_n_b()
+                                         * sees that we've accumulated a
+                                         * token and flags that we need to
+                                         * try matching the token before
+                                         * proceeding.  But for input(),
+                                         * there's no matching to consider.
+                                         * So convert the EOB_ACT_LAST_MATCH
+                                         * to EOB_ACT_END_OF_FILE.
+                                         */
+
+                                        /* Reset buffer status. */
+                                        yyrestart( yyin );
+
+                                        /*FALLTHROUGH*/
+
+                                case EOB_ACT_END_OF_FILE:
+                                        {
+                                        if ( yywrap(  ) )
+                                                return EOF;
+
+                                        if ( ! (yy_did_buffer_switch_on_eof) )
+                                                YY_NEW_FILE;
 #ifdef __cplusplus
-                                       return yyinput();
+                                        return yyinput();
 #else
-                                       return input();
+                                        return input();
 #endif
-                                       }
+                                        }
 
-                               case EOB_ACT_CONTINUE_SCAN:
-                                       (yy_c_buf_p) = (yytext_ptr) + offset;
-                                       break;
-                               }
-                       }
-               }
+                                case EOB_ACT_CONTINUE_SCAN:
+                                        (yy_c_buf_p) = (yytext_ptr) + offset;
+                                        break;
+                                }
+                        }
+                }
 
-       c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
-       *(yy_c_buf_p) = '\0';   /* preserve yytext */
-       (yy_hold_char) = *++(yy_c_buf_p);
+        c = *(unsigned char *) (yy_c_buf_p);    /* cast for 8-bit char's */
+        *(yy_c_buf_p) = '\0';   /* preserve yytext */
+        (yy_hold_char) = *++(yy_c_buf_p);
 
-       return c;
+        return c;
 }
 
 /** Immediately switch to a different input stream.
  * @param input_file A readable stream.
- * 
+ *
  * @note This function does not reset the start condition to @c INITIAL .
  */
     void yyFlexLexer::yyrestart( std::istream* input_file )
 {
-    
-       if ( ! YY_CURRENT_BUFFER ){
+
+        if ( ! YY_CURRENT_BUFFER ){
         yyensure_buffer_stack ();
-               YY_CURRENT_BUFFER_LVALUE =
+                YY_CURRENT_BUFFER_LVALUE =
             yy_create_buffer( yyin, YY_BUF_SIZE );
-       }
+        }
 
-       yy_init_buffer( YY_CURRENT_BUFFER, input_file );
-       yy_load_buffer_state(  );
+        yy_init_buffer( YY_CURRENT_BUFFER, input_file );
+        yy_load_buffer_state(  );
 }
 
 /** Switch to a different input buffer.
  * @param new_buffer The new input buffer.
- * 
+ *
  */
     void yyFlexLexer::yy_switch_to_buffer( YY_BUFFER_STATE new_buffer )
 {
-    
-       /* TODO. We should be able to replace this entire function body
-        * with
-        *              yypop_buffer_state();
-        *              yypush_buffer_state(new_buffer);
+
+        /* TODO. We should be able to replace this entire function body
+         * with
+         *              yypop_buffer_state();
+         *              yypush_buffer_state(new_buffer);
      */
-       yyensure_buffer_stack ();
-       if ( YY_CURRENT_BUFFER == new_buffer )
-               return;
-
-       if ( YY_CURRENT_BUFFER )
-               {
-               /* Flush out information for old buffer. */
-               *(yy_c_buf_p) = (yy_hold_char);
-               YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
-
-       YY_CURRENT_BUFFER_LVALUE = new_buffer;
-       yy_load_buffer_state(  );
-
-       /* We don't actually know whether we did this switch during
-        * EOF (yywrap()) processing, but the only time this flag
-        * is looked at is after yywrap() is called, so it's safe
-        * to go ahead and always set it.
-        */
-       (yy_did_buffer_switch_on_eof) = 1;
+        yyensure_buffer_stack ();
+        if ( YY_CURRENT_BUFFER == new_buffer )
+                return;
+
+        if ( YY_CURRENT_BUFFER )
+                {
+                /* Flush out information for old buffer. */
+                *(yy_c_buf_p) = (yy_hold_char);
+                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+                }
+
+        YY_CURRENT_BUFFER_LVALUE = new_buffer;
+        yy_load_buffer_state(  );
+
+        /* We don't actually know whether we did this switch during
+         * EOF (yywrap()) processing, but the only time this flag
+         * is looked at is after yywrap() is called, so it's safe
+         * to go ahead and always set it.
+         */
+        (yy_did_buffer_switch_on_eof) = 1;
 }
 
     void yyFlexLexer::yy_load_buffer_state()
 {
-       (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
-       (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
-       yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
-       (yy_hold_char) = *(yy_c_buf_p);
+        (yy_n_chars) = YY_CURRENT_BUFFER_LVALUE->yy_n_chars;
+        (yytext_ptr) = (yy_c_buf_p) = YY_CURRENT_BUFFER_LVALUE->yy_buf_pos;
+        yyin = YY_CURRENT_BUFFER_LVALUE->yy_input_file;
+        (yy_hold_char) = *(yy_c_buf_p);
 }
 
 /** Allocate and initialize an input buffer state.
  * @param file A readable stream.
  * @param size The character buffer size in bytes. When in doubt, use @c YY_BUF_SIZE.
- * 
+ *
  * @return the allocated buffer state.
  */
     YY_BUFFER_STATE yyFlexLexer::yy_create_buffer( std::istream* file, int size )
 {
-       YY_BUFFER_STATE b;
-    
-       b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
-       if ( ! b )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+        YY_BUFFER_STATE b;
+
+        b = (YY_BUFFER_STATE) yyalloc(sizeof( struct yy_buffer_state )  );
+        if ( ! b )
+                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-       b->yy_buf_size = size;
+        b->yy_buf_size = size;
 
-       /* yy_ch_buf has to be 2 characters longer than the size given because
-        * we need to put in 2 end-of-buffer characters.
-        */
-       b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
-       if ( ! b->yy_ch_buf )
-               YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
+        /* yy_ch_buf has to be 2 characters longer than the size given because
+         * we need to put in 2 end-of-buffer characters.
+         */
+        b->yy_ch_buf = (char *) yyalloc(b->yy_buf_size + 2  );
+        if ( ! b->yy_ch_buf )
+                YY_FATAL_ERROR( "out of dynamic memory in yy_create_buffer()" );
 
-       b->yy_is_our_buffer = 1;
+        b->yy_is_our_buffer = 1;
 
-       yy_init_buffer( b, file );
+        yy_init_buffer( b, file );
 
-       return b;
+        return b;
 }
 
 /** Destroy the buffer.
  * @param b a buffer created with yy_create_buffer()
- * 
+ *
  */
     void yyFlexLexer::yy_delete_buffer( YY_BUFFER_STATE b )
 {
-    
-       if ( ! b )
-               return;
 
-       if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
-               YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
+        if ( ! b )
+                return;
+
+        if ( b == YY_CURRENT_BUFFER ) /* Not sure if we should pop here. */
+                YY_CURRENT_BUFFER_LVALUE = (YY_BUFFER_STATE) 0;
 
-       if ( b->yy_is_our_buffer )
-               yyfree((void *) b->yy_ch_buf  );
+        if ( b->yy_is_our_buffer )
+                yyfree((void *) b->yy_ch_buf  );
 
-       yyfree((void *) b  );
+        yyfree((void *) b  );
 }
 
 extern "C" int isatty (int );
@@ -1312,12 +1339,12 @@ extern "C" int isatty (int );
     void yyFlexLexer::yy_init_buffer( YY_BUFFER_STATE b, std::istream* file )
 
 {
-       int oerrno = errno;
-    
-       yy_flush_buffer( b );
+        int oerrno = errno;
 
-       b->yy_input_file = file;
-       b->yy_fill_buffer = 1;
+        yy_flush_buffer( b );
+
+        b->yy_input_file = file;
+        b->yy_fill_buffer = 1;
 
     /* If b is the current buffer, then yy_init_buffer was _probably_
      * called from yyrestart() or through yy_get_next_buffer.
@@ -1328,87 +1355,87 @@ extern "C" int isatty (int );
         b->yy_bs_column = 0;
     }
 
-       b->yy_is_interactive = 0;
-       errno = oerrno;
+        b->yy_is_interactive = 0;
+        errno = oerrno;
 }
 
 /** Discard all buffered characters. On the next scan, YY_INPUT will be called.
  * @param b the buffer state to be flushed, usually @c YY_CURRENT_BUFFER.
- * 
+ *
  */
     void yyFlexLexer::yy_flush_buffer( YY_BUFFER_STATE b )
 {
-       if ( ! b )
-               return;
+        if ( ! b )
+                return;
 
-       b->yy_n_chars = 0;
+        b->yy_n_chars = 0;
 
-       /* We always need two end-of-buffer characters.  The first causes
-        * a transition to the end-of-buffer state.  The second causes
-        * a jam in that state.
-        */
-       b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
-       b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
+        /* We always need two end-of-buffer characters.  The first causes
+         * a transition to the end-of-buffer state.  The second causes
+         * a jam in that state.
+         */
+        b->yy_ch_buf[0] = YY_END_OF_BUFFER_CHAR;
+        b->yy_ch_buf[1] = YY_END_OF_BUFFER_CHAR;
 
-       b->yy_buf_pos = &b->yy_ch_buf[0];
+        b->yy_buf_pos = &b->yy_ch_buf[0];
 
-       b->yy_at_bol = 1;
-       b->yy_buffer_status = YY_BUFFER_NEW;
+        b->yy_at_bol = 1;
+        b->yy_buffer_status = YY_BUFFER_NEW;
 
-       if ( b == YY_CURRENT_BUFFER )
-               yy_load_buffer_state(  );
+        if ( b == YY_CURRENT_BUFFER )
+                yy_load_buffer_state(  );
 }
 
 /** Pushes the new state onto the stack. The new state becomes
  *  the current state. This function will allocate the stack
  *  if necessary.
  *  @param new_buffer The new state.
- *  
+ *
  */
 void yyFlexLexer::yypush_buffer_state (YY_BUFFER_STATE new_buffer)
 {
-       if (new_buffer == NULL)
-               return;
-
-       yyensure_buffer_stack();
-
-       /* This block is copied from yy_switch_to_buffer. */
-       if ( YY_CURRENT_BUFFER )
-               {
-               /* Flush out information for old buffer. */
-               *(yy_c_buf_p) = (yy_hold_char);
-               YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
-               YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
-               }
-
-       /* Only push if top exists. Otherwise, replace top. */
-       if (YY_CURRENT_BUFFER)
-               (yy_buffer_stack_top)++;
-       YY_CURRENT_BUFFER_LVALUE = new_buffer;
-
-       /* copied from yy_switch_to_buffer. */
-       yy_load_buffer_state(  );
-       (yy_did_buffer_switch_on_eof) = 1;
+        if (new_buffer == NULL)
+                return;
+
+        yyensure_buffer_stack();
+
+        /* This block is copied from yy_switch_to_buffer. */
+        if ( YY_CURRENT_BUFFER )
+                {
+                /* Flush out information for old buffer. */
+                *(yy_c_buf_p) = (yy_hold_char);
+                YY_CURRENT_BUFFER_LVALUE->yy_buf_pos = (yy_c_buf_p);
+                YY_CURRENT_BUFFER_LVALUE->yy_n_chars = (yy_n_chars);
+                }
+
+        /* Only push if top exists. Otherwise, replace top. */
+        if (YY_CURRENT_BUFFER)
+                (yy_buffer_stack_top)++;
+        YY_CURRENT_BUFFER_LVALUE = new_buffer;
+
+        /* copied from yy_switch_to_buffer. */
+        yy_load_buffer_state(  );
+        (yy_did_buffer_switch_on_eof) = 1;
 }
 
 /** Removes and deletes the top of the stack, if present.
  *  The next element becomes the new top.
- *  
+ *
  */
 void yyFlexLexer::yypop_buffer_state (void)
 {
-       if (!YY_CURRENT_BUFFER)
-               return;
-
-       yy_delete_buffer(YY_CURRENT_BUFFER );
-       YY_CURRENT_BUFFER_LVALUE = NULL;
-       if ((yy_buffer_stack_top) > 0)
-               --(yy_buffer_stack_top);
-
-       if (YY_CURRENT_BUFFER) {
-               yy_load_buffer_state(  );
-               (yy_did_buffer_switch_on_eof) = 1;
-       }
+        if (!YY_CURRENT_BUFFER)
+                return;
+
+        yy_delete_buffer(YY_CURRENT_BUFFER );
+        YY_CURRENT_BUFFER_LVALUE = NULL;
+        if ((yy_buffer_stack_top) > 0)
+                --(yy_buffer_stack_top);
+
+        if (YY_CURRENT_BUFFER) {
+                yy_load_buffer_state(  );
+                (yy_did_buffer_switch_on_eof) = 1;
+        }
 }
 
 /* Allocates the stack if it does not exist.
@@ -1416,79 +1443,82 @@ void yyFlexLexer::yypop_buffer_state (void)
  */
 void yyFlexLexer::yyensure_buffer_stack(void)
 {
-       int num_to_alloc;
-    
-       if (!(yy_buffer_stack)) {
+        int num_to_alloc;
+
+        if (!(yy_buffer_stack)) {
 
-               /* First allocation is just for 2 elements, since we don't know if this
-                * scanner will even need a stack. We use 2 instead of 1 to avoid an
-                * immediate realloc on the next call.
+                /* First allocation is just for 2 elements, since we don't know if this
+                 * scanner will even need a stack. We use 2 instead of 1 to avoid an
+                 * immediate realloc on the next call.
          */
-               num_to_alloc = 1;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
-                                                               (num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-               
-               memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
-                               
-               (yy_buffer_stack_max) = num_to_alloc;
-               (yy_buffer_stack_top) = 0;
-               return;
-       }
-
-       if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
-
-               /* Increase the buffer to prepare for a possible push. */
-               int grow_size = 8 /* arbitrary grow size */;
-
-               num_to_alloc = (yy_buffer_stack_max) + grow_size;
-               (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
-                                                               ((yy_buffer_stack),
-                                                               num_to_alloc * sizeof(struct yy_buffer_state*)
-                                                               );
-
-               /* zero only the new slots.*/
-               memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
-               (yy_buffer_stack_max) = num_to_alloc;
-       }
+                num_to_alloc = 1;
+                (yy_buffer_stack) = (struct yy_buffer_state**)yyalloc
+                                                                (num_to_alloc * sizeof(struct yy_buffer_state*)
+                                                                );
+                if ( ! (yy_buffer_stack) )
+                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+                memset((yy_buffer_stack), 0, num_to_alloc * sizeof(struct yy_buffer_state*));
+
+                (yy_buffer_stack_max) = num_to_alloc;
+                (yy_buffer_stack_top) = 0;
+                return;
+        }
+
+        if ((yy_buffer_stack_top) >= ((yy_buffer_stack_max)) - 1){
+
+                /* Increase the buffer to prepare for a possible push. */
+                int grow_size = 8 /* arbitrary grow size */;
+
+                num_to_alloc = (yy_buffer_stack_max) + grow_size;
+                (yy_buffer_stack) = (struct yy_buffer_state**)yyrealloc
+                                                                ((yy_buffer_stack),
+                                                                num_to_alloc * sizeof(struct yy_buffer_state*)
+                                                                );
+                if ( ! (yy_buffer_stack) )
+                        YY_FATAL_ERROR( "out of dynamic memory in yyensure_buffer_stack()" );
+
+                /* zero only the new slots.*/
+                memset((yy_buffer_stack) + (yy_buffer_stack_max), 0, grow_size * sizeof(struct yy_buffer_state*));
+                (yy_buffer_stack_max) = num_to_alloc;
+        }
 }
 
     void yyFlexLexer::yy_push_state( int new_state )
 {
-       if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
-               {
-               yy_size_t new_size;
+        if ( (yy_start_stack_ptr) >= (yy_start_stack_depth) )
+                {
+                yy_size_t new_size;
 
-               (yy_start_stack_depth) += YY_START_STACK_INCR;
-               new_size = (yy_start_stack_depth) * sizeof( int );
+                (yy_start_stack_depth) += YY_START_STACK_INCR;
+                new_size = (yy_start_stack_depth) * sizeof( int );
 
-               if ( ! (yy_start_stack) )
-                       (yy_start_stack) = (int *) yyalloc(new_size  );
+                if ( ! (yy_start_stack) )
+                        (yy_start_stack) = (int *) yyalloc(new_size  );
 
-               else
-                       (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
+                else
+                        (yy_start_stack) = (int *) yyrealloc((void *) (yy_start_stack),new_size  );
 
-               if ( ! (yy_start_stack) )
-                       YY_FATAL_ERROR(
-                       "out of memory expanding start-condition stack" );
-               }
+                if ( ! (yy_start_stack) )
+                        YY_FATAL_ERROR( "out of memory expanding start-condition stack" );
+                }
 
-       (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
+        (yy_start_stack)[(yy_start_stack_ptr)++] = YY_START;
 
-       BEGIN(new_state);
+        BEGIN(new_state);
 }
 
     void yyFlexLexer::yy_pop_state()
 {
-       if ( --(yy_start_stack_ptr) < 0 )
-               YY_FATAL_ERROR( "start-condition stack underflow" );
+        if ( --(yy_start_stack_ptr) < 0 )
+                YY_FATAL_ERROR( "start-condition stack underflow" );
 
-       BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
+        BEGIN((yy_start_stack)[(yy_start_stack_ptr)]);
 }
 
     int yyFlexLexer::yy_top_state()
 {
-       return (yy_start_stack)[(yy_start_stack_ptr) - 1];
+        return (yy_start_stack)[(yy_start_stack_ptr) - 1];
 }
 
 #ifndef YY_EXIT_FAILURE
@@ -1497,26 +1527,26 @@ void yyFlexLexer::yyensure_buffer_stack(void)
 
 void yyFlexLexer::LexerError( yyconst char msg[] )
 {
-       std::cerr << msg << std::endl;
-       exit( YY_EXIT_FAILURE );
+        std::cerr << msg << std::endl;
+        exit( YY_EXIT_FAILURE );
 }
 
 /* Redefine yyless() so it works in section 3 code. */
 
 #undef yyless
 #define yyless(n) \
-       do \
-               { \
-               /* Undo effects of setting up yytext. */ \
+        do \
+                { \
+                /* Undo effects of setting up yytext. */ \
         int yyless_macro_arg = (n); \
         YY_LESS_LINENO(yyless_macro_arg);\
-               yytext[yyleng] = (yy_hold_char); \
-               (yy_c_buf_p) = yytext + yyless_macro_arg; \
-               (yy_hold_char) = *(yy_c_buf_p); \
-               *(yy_c_buf_p) = '\0'; \
-               yyleng = yyless_macro_arg; \
-               } \
-       while ( 0 )
+                yytext[yyleng] = (yy_hold_char); \
+                (yy_c_buf_p) = yytext + yyless_macro_arg; \
+                (yy_hold_char) = *(yy_c_buf_p); \
+                *(yy_c_buf_p) = '\0'; \
+                yyleng = yyless_macro_arg; \
+                } \
+        while ( 0 )
 
 /* Accessor  methods (get/set functions) to struct members. */
 
@@ -1527,60 +1557,48 @@ void yyFlexLexer::LexerError( yyconst char msg[] )
 #ifndef yytext_ptr
 static void yy_flex_strncpy (char* s1, yyconst char * s2, int n )
 {
-       register int i;
-       for ( i = 0; i < n; ++i )
-               s1[i] = s2[i];
+        register int i;
+        for ( i = 0; i < n; ++i )
+                s1[i] = s2[i];
 }
 #endif
 
 #ifdef YY_NEED_STRLEN
 static int yy_flex_strlen (yyconst char * s )
 {
-       register int n;
-       for ( n = 0; s[n]; ++n )
-               ;
+        register int n;
+        for ( n = 0; s[n]; ++n )
+                ;
 
-       return n;
+        return n;
 }
 #endif
 
 void *yyalloc (yy_size_t  size )
 {
-       return (void *) malloc( size );
+        return (void *) malloc( size );
 }
 
 void *yyrealloc  (void * ptr, yy_size_t  size )
 {
-       /* The cast to (char *) in the following accommodates both
-        * implementations that use char* generic pointers, and those
-        * that use void* generic pointers.  It works with the latter
-        * because both ANSI C and C++ allow castless assignment from
-        * any pointer type to void*, and deal with argument conversions
-        * as though doing an assignment.
-        */
-       return (void *) realloc( (char *) ptr, size );
+        /* The cast to (char *) in the following accommodates both
+         * implementations that use char* generic pointers, and those
+         * that use void* generic pointers.  It works with the latter
+         * because both ANSI C and C++ allow castless assignment from
+         * any pointer type to void*, and deal with argument conversions
+         * as though doing an assignment.
+         */
+        return (void *) realloc( (char *) ptr, size );
 }
 
 void yyfree (void * ptr )
 {
-       free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
+        free( (char *) ptr );   /* see yyrealloc() for (char *) cast */
 }
 
 #define YYTABLES_NAME "yytables"
 
-#undef YY_NEW_FILE
-#undef YY_FLUSH_BUFFER
-#undef yy_set_bol
-#undef yy_new_buffer
-#undef yy_set_interactive
-#undef yytext_ptr
-#undef YY_DO_BEFORE_ACTION
-
-#ifdef YY_DECL_IS_OURS
-#undef YY_DECL_IS_OURS
-#undef YY_DECL
-#endif
-#line 39 "cmdlex.l"
+#line 40 "../../../../sdcc/sim/ucsim/cmd.src/cmdlex.l"
 
 
 
@@ -1625,33 +1643,33 @@ cl_ucsim_lexer::check_id(char *token)
     {
       class cl_memory *mem= uc->memory(token);
       if (mem)
-       {
-         yylval->memory_object= mem;
-         return(tok(PTOK_MEMORY_OBJECT));
-       }
-      
+        {
+          yylval->memory_object= mem;
+          return(tok(PTOK_MEMORY_OBJECT));
+        }
+
       t_addr addr;
       bool found= uc->symbol2address(yytext, uc->sfr_tbl(), &addr);
       if (found)
-       {
-         /*yylval->number= addr;
-           return(tok(PTOK_NUMBER));*/
-         yylval->memory.memory= uc->address_space(MEM_SFR_ID);
-         yylval->memory.address= addr;
-         return(tok(PTOK_MEMORY));
-       }
+        {
+          /*yylval->number= addr;
+            return(tok(PTOK_NUMBER));*/
+          yylval->memory.memory= uc->address_space(MEM_SFR_ID);
+          yylval->memory.address= addr;
+          return(tok(PTOK_MEMORY));
+        }
 
       found= uc->symbol2address(yytext, uc->bit_tbl(), &addr);
       if (found)
-       {
-         t_addr memaddr;
-         t_mem mask;
-         yylval->bit.memory= uc->bit2mem(addr, &memaddr, &mask);
-         yylval->bit.mem_address= memaddr;
-         yylval->bit.bit_address= addr;
-         yylval->bit.mask= mask;
-         return(tok(PTOK_BIT));
-       }
+        {
+          t_addr memaddr;
+          t_mem mask;
+          yylval->bit.memory= uc->bit2mem(addr, &memaddr, &mask);
+          yylval->bit.mem_address= memaddr;
+          yylval->bit.bit_address= addr;
+          yylval->bit.mask= mask;
+          return(tok(PTOK_BIT));
+        }
     }
 
   return(0);