Diff for /parser3/src/main/compile_tools.h between versions 1.70 and 1.76

version 1.70, 2003/11/20 16:32:12 version 1.76, 2005/08/09 08:14:51
Line 1 Line 1
 /** @file  /** @file
         Parser: compiler support helper functions decls.          Parser: compiler support helper functions decls.
   
         Copyright (c) 2001-2003 ArtLebedev Group (http://www.artlebedev.com)          Copyright (c) 2001-2005 ArtLebedev Group (http://www.artlebedev.com)
         Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)          Author: Alexandr Petrosian <paf@design.ru> (http://paf.design.ru)
 */  */
   
 #ifndef COMPILE_TOOLS  #ifndef COMPILE_TOOLS
 #define COMPILE_TOOLS  #define COMPILE_TOOLS
   
 static const char* IDENT_COMPILE_TOOLS_H="$Date$";  static const char * const IDENT_COMPILE_TOOLS_H="$Date$";
   
 #include "pa_opcode.h"  #include "pa_opcode.h"
 #include "pa_types.h"  #include "pa_types.h"
Line 43  enum lexical_state { Line 43  enum lexical_state {
 };  };
   
 struct Pos {  struct Pos {
         uint line;          int line;
         uint col;          int col;
         //Pos(uint aline, uint acol): line(aline), col(acol) {}          Pos(int aline, int acol): line(aline), col(acol) {}
         Pos(): line(0), col(0) {}          Pos(): line(0), col(0) {}
   
         void clear() { line=col=0; }          void clear() { line=col=0; }
Line 80  public: Line 80  public:
         int brackets_nestages[MAX_LEXICAL_STATES]; ///< brackets nestage on each state          int brackets_nestages[MAX_LEXICAL_STATES]; ///< brackets nestage on each state
   
         bool in_call_value;          bool in_call_value;
           bool explicit_result;
         //@}          //@}
                   
         /// output: filled input 'methods' and 'error' if any          /// output: filled input 'methods' and 'error' if any
Line 88  public: Line 89  public:
         Parse_control(Request& arequest,           Parse_control(Request& arequest, 
                 VStateless_class* aclass,                  VStateless_class* aclass,
                 const char* asource, const String* amain_alias,                   const char* asource, const String* amain_alias, 
                 uint afile_no):                  uint afile_no,
                   int line_no_offset):
                 main_alias(amain_alias),                  main_alias(amain_alias),
                 last_line_end_col(0),                  last_line_end_col(0),
   
Line 98  public: Line 100  public:
                 cclass(aclass), // until changed with @CLASS would consider operators loading                  cclass(aclass), // until changed with @CLASS would consider operators loading
                 source(asource),                   source(asource), 
                 file_no(afile_no),                  file_no(afile_no),
                   pos(line_no_offset, 0),
   
                 // initialize state                  // initialize state
                 trim_bof(true),                  trim_bof(true),
                 pending_state(0),                  pending_state(0),
                 ls(LS_USER),                  ls(LS_USER),
                 ls_sp(0),                  ls_sp(0),
                 in_call_value(false) {}                  in_call_value(false),
                   explicit_result(false) {}
   
         void pos_next_line() {          void pos_next_line() {
                 pos.line++;                  pos.line++;
Line 187  inline void change_string_literal_to_wri Line 191  inline void change_string_literal_to_wri
 }  }
   
   
 void change_string_literal_to_double_literal(ArrayOperation& literal_string_array);  void maybe_change_string_literal_to_double_literal(ArrayOperation& literal_string_array);
   
 void change_string_literal_value(ArrayOperation& literal_string_array, const String& new_value);  void change_string_literal_value(ArrayOperation& literal_string_array, const String& new_value);
   

Removed from v.1.70  
changed lines
  Added in v.1.76


E-mail: