Main Page   Namespace List   Class Hierarchy   Compound List   File List   Namespace Members   Compound Members   File Members  

ixlib_javascript.hh File Reference

#include <vector>
#include <hash_map>
#include <ixlib_string.hh>
#include <ixlib_exbase.hh>
#include <ixlib_garbage.hh>
#include <ixlib_scanner.hh>

Go to the source code of this file.

Namespaces

namespace  ixion
namespace  ixion::javascript

Defines

#define ECJS_UNTERMINATED_COMMENT   0
#define ECJS_CANNOT_CONVERT   1
#define ECJS_INVALID_OPERATION   2
#define ECJS_UNEXPECTED   3
#define ECJS_UNEXPECTED_EOF   4
#define ECJS_CANNOT_MODIFY_RVALUE   5
#define ECJS_UNKNOWN_IDENTIFIER   6
#define ECJS_UNKNOWN_OPERATOR   7
#define ECJS_INVALID_NON_LOCAL_EXIT   8
#define ECJS_INVALID_NUMBER_OF_ARGUMENTS   9
#define ECJS_INVALID_TOKEN   10
#define ECJS_CANNOT_REDECLARE   11
#define ECJS_DOUBLE_CONSTRUCTION   12
#define ECJS_NO_SUPERCLASS   13
#define ECJS_DIVISION_BY_ZERO   14
#define IXLIB_JS_ASSERT_PARAMETERS(NAME, ARGMIN, ARGMAX)
#define IXLIB_JS_IF_METHOD(NAME, ARGMIN, ARGMAX)
#define IXLIB_JS_DECLARE_FUNCTION(NAME)
#define IXLIB_JS_CONVERT_PARAMETERS_0
#define EXJS_THROW(CODE)   EX_THROW(javascript,CODE)
#define EXJS_THROWINFO(CODE, INFO)   EX_THROWINFO(javascript,CODE,INFO)
#define EXJS_THROW_NO_LOCATION(CODE)   EX_THROW(no_location_javascript,CODE)
#define EXJS_THROWINFO_NO_LOCATION(CODE, INFO)   EX_THROWINFO(no_location_javascript,CODE,INFO)
#define EXJS_THROWINFOLOCATION(CODE, INFO, LOCATION)   throw ixion::javascript_exception(CODE,LOCATION,INFO,__FILE__,__LINE__);
#define EXJS_THROWINFOTOKEN(CODE, INFO, TOKEN)   EXJS_THROWINFOLOCATION(CODE,INFO,code_location(TOKEN))
#define EXJS_THROWINFOEXPRESSION(CODE, INFO, EXPR)   EXJS_THROWINFOLOCATION(CODE,INFO,(EXPR).getCodeLocation())


Define Documentation

#define ECJS_CANNOT_CONVERT   1
 

Definition at line 32 of file ixlib_javascript.hh.

#define ECJS_CANNOT_MODIFY_RVALUE   5
 

Definition at line 36 of file ixlib_javascript.hh.

#define ECJS_CANNOT_REDECLARE   11
 

Definition at line 42 of file ixlib_javascript.hh.

#define ECJS_DIVISION_BY_ZERO   14
 

Definition at line 45 of file ixlib_javascript.hh.

#define ECJS_DOUBLE_CONSTRUCTION   12
 

Definition at line 43 of file ixlib_javascript.hh.

#define ECJS_INVALID_NON_LOCAL_EXIT   8
 

Definition at line 39 of file ixlib_javascript.hh.

#define ECJS_INVALID_NUMBER_OF_ARGUMENTS   9
 

Definition at line 40 of file ixlib_javascript.hh.

#define ECJS_INVALID_OPERATION   2
 

Definition at line 33 of file ixlib_javascript.hh.

#define ECJS_INVALID_TOKEN   10
 

Definition at line 41 of file ixlib_javascript.hh.

#define ECJS_NO_SUPERCLASS   13
 

Definition at line 44 of file ixlib_javascript.hh.

#define ECJS_UNEXPECTED   3
 

Definition at line 34 of file ixlib_javascript.hh.

#define ECJS_UNEXPECTED_EOF   4
 

Definition at line 35 of file ixlib_javascript.hh.

#define ECJS_UNKNOWN_IDENTIFIER   6
 

Definition at line 37 of file ixlib_javascript.hh.

#define ECJS_UNKNOWN_OPERATOR   7
 

Definition at line 38 of file ixlib_javascript.hh.

#define ECJS_UNTERMINATED_COMMENT   0
 

Definition at line 31 of file ixlib_javascript.hh.

#define EXJS_THROW CODE       EX_THROW(javascript,CODE)
 

Definition at line 79 of file ixlib_javascript.hh.

#define EXJS_THROWINFO CODE,
INFO       EX_THROWINFO(javascript,CODE,INFO)
 

Definition at line 81 of file ixlib_javascript.hh.

#define EXJS_THROWINFOEXPRESSION CODE,
INFO,
EXPR       EXJS_THROWINFOLOCATION(CODE,INFO,(EXPR).getCodeLocation())
 

Definition at line 91 of file ixlib_javascript.hh.

#define EXJS_THROWINFOLOCATION CODE,
INFO,
LOCATION       throw ixion::javascript_exception(CODE,LOCATION,INFO,__FILE__,__LINE__);
 

Definition at line 87 of file ixlib_javascript.hh.

#define EXJS_THROWINFOTOKEN CODE,
INFO,
TOKEN       EXJS_THROWINFOLOCATION(CODE,INFO,code_location(TOKEN))
 

Definition at line 89 of file ixlib_javascript.hh.

#define EXJS_THROWINFO_NO_LOCATION CODE,
INFO       EX_THROWINFO(no_location_javascript,CODE,INFO)
 

Definition at line 85 of file ixlib_javascript.hh.

#define EXJS_THROW_NO_LOCATION CODE       EX_THROW(no_location_javascript,CODE)
 

Definition at line 83 of file ixlib_javascript.hh.

#define IXLIB_JS_ASSERT_PARAMETERS NAME,
ARGMIN,
ARGMAX   
 

Value:

if (parameters.size() < ARGMIN || parameters.size() > ARGMAX) \
    EXJS_THROWINFO(ECJS_INVALID_NUMBER_OF_ARGUMENTS,NAME)

Definition at line 51 of file ixlib_javascript.hh.

#define IXLIB_JS_CONVERT_PARAMETERS_0
 

Definition at line 73 of file ixlib_javascript.hh.

#define IXLIB_JS_DECLARE_FUNCTION NAME   
 

Value:

namespace { \
    class NAME : public value { \
      public: \
        value_type getType() const { \
          return VT_FUNCTION; \
          } \
        ixion::ref<ixion::javascript::value> call(parameter_list const &parameters); \
      }; \
    } \
  ixion::ref<ixion::javascript::value> NAME::call(parameter_list const &parameters)

Definition at line 61 of file ixlib_javascript.hh.

#define IXLIB_JS_IF_METHOD NAME,
ARGMIN,
ARGMAX   
 

Value:

if (identifier == NAME) \
    if (parameters.size() < ARGMIN || parameters.size() > ARGMAX) \
      EXJS_THROWINFO(ECJS_INVALID_NUMBER_OF_ARGUMENTS,NAME) \
    else

Definition at line 55 of file ixlib_javascript.hh.


Generated on Wed Oct 31 17:12:24 2001 for ixlib by doxygen1.2.11.1 written by Dimitri van Heesch, © 1997-2001