Diff for /parser3/src/main/compile_tools.h between versions 1.24 and 1.30

version 1.24, 2001/03/10 11:44:42 version 1.30, 2001/03/13 13:43:30
Line 1 Line 1
 /*  /*
   $Id$          Parser
           Copyright (c) 2001 ArtLebedev Group (http://www.artlebedev.com)
           Author: Alexander Petrosyan <paf@design.ru> (http://design.ru/paf)
   
           $Id$
 */  */
   
 #ifndef COMPILE_TOOLS  #ifndef COMPILE_TOOLS
Line 34  struct parse_control { Line 38  struct parse_control {
         // input          // input
         Pool *pool;          Pool *pool;
         Request *request;          Request *request;
         VClass *vclass;          VStateless_class *cclass;
 #ifndef NO_CSTRING_ORIGIN  #ifndef NO_CSTRING_ORIGIN
         char *source;          const char *source;
         char *file;          const char *file;
         int line, col;          int line, col;
 #endif  #endif
         // state          // state
Line 55  struct parse_control { Line 59  struct parse_control {
 };  };
   
 // New array // return empty array  // New array // return empty array
 inline Array/*<op>*/ *N(Pool& pool) {  inline Array/*<Operation>*/ *N(Pool& pool) {
         return new(pool) Array/*<op>*/(pool);          return new(pool) Array/*<Operation>*/(pool);
 }  }
   
 // Assembler instruction // append ordinary instruction to ops  // Assembler instruction // append ordinary instruction to ops
 inline void O(Array/*<op>*/ *result, enum OPCODE code) {  inline void O(Array/*<Operation>*/ *result, enum OPCODE code) {
         Operation op; op.code=code;          Operation op; op.code=code;
         *result+=op.cast;          *result+=op.cast;
 }  }
   
 // Argument Eval_expression // append eval_expression to ops  // Argument Eval_expression // append eval_expression to ops
 inline void AE(Array/*<op>*/ *result, char *eval_expression) {  inline void AE(Array/*<Operation>*/ *result, char *eval_expression) {
         *result+=eval_expression;          *result+=eval_expression;
 }  }
   
 // aPpend 'code_array' to 'result'  // aPpend 'code_array' to 'result'
 inline void P(Array/*<op>*/ *result, Array *code_array) {  inline void P(Array/*<Operation>*/ *result, Array *code_array) {
         result->append_array(*code_array);          result->append_array(*code_array);
 }  }
 // aPpend part of 'code_array', starting from offset, to 'result'  // aPpend part of 'code_array', starting from offset, to 'result'
 inline void P(Array/*<op>*/ *result, Array *code_array, int offset) {  inline void P(Array/*<Operation>*/ *result, Array *code_array, int offset) {
         result->append_array(*code_array, offset);          result->append_array(*code_array, offset);
 }  }
 // aPpend 'vstring' to 'result'  // aPpend 'vstring' to 'result'
 void PV(Array/*<op>*/ *result, VString *vstring);  void PV(Array/*<Operation>*/ *result, VString *vstring);
 // aPpend 'Code_Array' to result  // aPpend 'Code_Array' to result
 void PCA(Array/*<op>*/ *result, Array/*<op>*/ *code_array);  void PCA(Array/*<Operation>*/ *result, Array/*<Operation>*/ *code_array);
   
   
 // Value Literal // returns array with   // Value Literal // returns array with 
Line 92  Array *VL(Value *value); Line 96  Array *VL(Value *value);
 const String *SLA2S(Array *literal_string_array, int offset=0);  const String *SLA2S(Array *literal_string_array, int offset=0);
   
 void change_string_literal_to_double_literal(Array *literal_string_array);  void change_string_literal_to_double_literal(Array *literal_string_array);
   void change_string_literal_to_write_string_literal(Array *literal_string_array);
   
 void push_LS(struct parse_control *pc, lexical_state new_state);  void push_LS(struct parse_control *pc, lexical_state new_state);
 void pop_LS(struct parse_control *pc);  void pop_LS(struct parse_control *pc);

Removed from v.1.24  
changed lines
  Added in v.1.30


E-mail: