Back to index

texmacs  1.0.7.15
Classes | Defines | Functions
tag_info.hpp File Reference
#include "tree.hpp"
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  parent_info
struct  child_info
class  tag_info_rep
class  tag_info

Defines

#define TYPE_INVALID   -1
#define TYPE_REGULAR   0
#define TYPE_ADHOC   1
#define TYPE_RAW   2
#define TYPE_VARIABLE   3
#define TYPE_ARGUMENT   4
#define TYPE_BINDING   5
#define TYPE_BOOLEAN   6
#define TYPE_INTEGER   7
#define TYPE_STRING   8
#define TYPE_LENGTH   9
#define TYPE_NUMERIC   10
#define TYPE_CODE   11
#define TYPE_IDENTIFIER   12
#define TYPE_URL   13
#define TYPE_GRAPHICAL   14
#define TYPE_POINT   15
#define TYPE_CONSTRAINT   16
#define TYPE_GRAPHICAL_ID   17
#define TYPE_ANIMATION   18
#define TYPE_DURATION   19
#define TYPE_OBSOLETE   20
#define TYPE_UNKNOWN   21
#define TYPE_ERROR   22
#define ARITY_NORMAL   0
#define ARITY_OPTIONS   1
#define ARITY_REPEAT   2
#define ARITY_VAR_REPEAT   3
#define CHILD_UNIFORM   0
#define CHILD_BIFORM   1
#define CHILD_DETAILED   2
#define BLOCK_NO   0
#define BLOCK_YES   1
#define BLOCK_OR   2
#define BORDER_YES   0
#define BORDER_INNER   1
#define BORDER_OUTER   2
#define BORDER_NO   3
#define ACCESSIBLE_NEVER   0
#define ACCESSIBLE_HIDDEN   1
#define ACCESSIBLE_ALWAYS   2
#define WRITABILITY_NORMAL   0
#define WRITABILITY_DISABLE   1
#define WRITABILITY_ENABLE   2
#define BLOCK_REQUIRE_BLOCK   0
#define BLOCK_REQUIRE_INLINE   1
#define BLOCK_REQUIRE_NONE   2

Functions

int drd_encode (tree t)
tree drd_decode (int i)
int drd_encode_type (string s)
string drd_decode_type (int i)
 CONCRETE_CODE (tag_info)
bool operator== (tag_info ti1, tag_info ti2)
bool operator!= (tag_info ti1, tag_info ti2)
tm_ostreamoperator<< (tm_ostream &out, tag_info ti)
tag_info copy (tag_info ti)

Define Documentation

#define ACCESSIBLE_ALWAYS   2

Definition at line 151 of file tag_info.hpp.

#define ACCESSIBLE_HIDDEN   1

Definition at line 150 of file tag_info.hpp.

#define ACCESSIBLE_NEVER   0

Definition at line 149 of file tag_info.hpp.

#define ARITY_NORMAL   0

Definition at line 80 of file tag_info.hpp.

#define ARITY_OPTIONS   1

Definition at line 81 of file tag_info.hpp.

#define ARITY_REPEAT   2

Definition at line 82 of file tag_info.hpp.

#define ARITY_VAR_REPEAT   3

Definition at line 83 of file tag_info.hpp.

#define BLOCK_NO   0

Definition at line 89 of file tag_info.hpp.

#define BLOCK_OR   2

Definition at line 91 of file tag_info.hpp.

#define BLOCK_REQUIRE_BLOCK   0

Definition at line 157 of file tag_info.hpp.

#define BLOCK_REQUIRE_INLINE   1

Definition at line 158 of file tag_info.hpp.

#define BLOCK_REQUIRE_NONE   2

Definition at line 159 of file tag_info.hpp.

#define BLOCK_YES   1

Definition at line 90 of file tag_info.hpp.

#define BORDER_INNER   1

Definition at line 94 of file tag_info.hpp.

#define BORDER_NO   3

Definition at line 96 of file tag_info.hpp.

#define BORDER_OUTER   2

Definition at line 95 of file tag_info.hpp.

#define BORDER_YES   0

Definition at line 93 of file tag_info.hpp.

#define CHILD_BIFORM   1

Definition at line 86 of file tag_info.hpp.

#define CHILD_DETAILED   2

Definition at line 87 of file tag_info.hpp.

#define CHILD_UNIFORM   0

Definition at line 85 of file tag_info.hpp.

#define TYPE_ADHOC   1

Definition at line 18 of file tag_info.hpp.

#define TYPE_ANIMATION   18

Definition at line 35 of file tag_info.hpp.

#define TYPE_ARGUMENT   4

Definition at line 21 of file tag_info.hpp.

#define TYPE_BINDING   5

Definition at line 22 of file tag_info.hpp.

#define TYPE_BOOLEAN   6

Definition at line 23 of file tag_info.hpp.

#define TYPE_CODE   11

Definition at line 28 of file tag_info.hpp.

#define TYPE_CONSTRAINT   16

Definition at line 33 of file tag_info.hpp.

#define TYPE_DURATION   19

Definition at line 36 of file tag_info.hpp.

#define TYPE_ERROR   22

Definition at line 39 of file tag_info.hpp.

#define TYPE_GRAPHICAL   14

Definition at line 31 of file tag_info.hpp.

#define TYPE_GRAPHICAL_ID   17

Definition at line 34 of file tag_info.hpp.

#define TYPE_IDENTIFIER   12

Definition at line 29 of file tag_info.hpp.

#define TYPE_INTEGER   7

Definition at line 24 of file tag_info.hpp.

#define TYPE_INVALID   -1

Definition at line 16 of file tag_info.hpp.

#define TYPE_LENGTH   9

Definition at line 26 of file tag_info.hpp.

#define TYPE_NUMERIC   10

Definition at line 27 of file tag_info.hpp.

#define TYPE_OBSOLETE   20

Definition at line 37 of file tag_info.hpp.

#define TYPE_POINT   15

Definition at line 32 of file tag_info.hpp.

#define TYPE_RAW   2

Definition at line 19 of file tag_info.hpp.

#define TYPE_REGULAR   0

Definition at line 17 of file tag_info.hpp.

#define TYPE_STRING   8

Definition at line 25 of file tag_info.hpp.

#define TYPE_UNKNOWN   21

Definition at line 38 of file tag_info.hpp.

#define TYPE_URL   13

Definition at line 30 of file tag_info.hpp.

#define TYPE_VARIABLE   3

Definition at line 20 of file tag_info.hpp.

#define WRITABILITY_DISABLE   1

Definition at line 154 of file tag_info.hpp.

#define WRITABILITY_ENABLE   2

Definition at line 155 of file tag_info.hpp.

#define WRITABILITY_NORMAL   0

Definition at line 153 of file tag_info.hpp.


Function Documentation

Definition at line 479 of file tag_info.cpp.

                   {
  return tag_info (ti->pi, copy (ti->ci), copy (ti->extra));
}

Here is the call graph for this function:

tree drd_decode ( int  i)

Definition at line 37 of file tag_info.cpp.

                   {
  ASSERT (i >= 0 && i < N (decode_table), "out of range");
  return decode_table[i];
}

Here is the call graph for this function:

Here is the caller graph for this function:

string drd_decode_type ( int  i)

Definition at line 47 of file tag_info.cpp.

                        {
  switch (i) {
  case TYPE_REGULAR: return "regular";
  case TYPE_ADHOC: return "adhoc";
  case TYPE_VARIABLE: return "variable";
  case TYPE_ARGUMENT: return "argument";
  case TYPE_BOOLEAN: return "boolean";
  case TYPE_INTEGER: return "integer";
  case TYPE_STRING: return "string";
  case TYPE_LENGTH: return "length";
  case TYPE_NUMERIC: return "numeric";
  case TYPE_CODE: return "code";
  case TYPE_IDENTIFIER: return "identifier";
  case TYPE_URL: return "url";
  case TYPE_GRAPHICAL: return "graphical";
  case TYPE_POINT: return "point";
  case TYPE_ANIMATION: return "animation";
  case TYPE_DURATION: return "duration";
  case TYPE_UNKNOWN: return "unknown";
  case TYPE_ERROR: return "error";
  default: return "unknown";
  }
}

Here is the caller graph for this function:

int drd_encode ( tree  t)

Definition at line 26 of file tag_info.cpp.

                    {
  if (encode_table->contains (t))
    return encode_table[t];
  int n= N(decode_table);
  ASSERT (n < (1 << 16), "drd_encode overflow");
  encode_table (t) = n;
  decode_table << t;
  return n;
}

Here is the call graph for this function:

Here is the caller graph for this function:

int drd_encode_type ( string  s)

Definition at line 72 of file tag_info.cpp.

                           {
  if (s == "regular") return TYPE_REGULAR;
  else if (s == "adhoc") return TYPE_ADHOC;
  else if (s == "variable") return TYPE_VARIABLE;
  else if (s == "argument") return TYPE_ARGUMENT;
  else if (s == "boolean") return TYPE_BOOLEAN;
  else if (s == "integer") return TYPE_INTEGER;
  else if (s == "string") return TYPE_STRING;
  else if (s == "length") return TYPE_LENGTH;
  else if (s == "numeric") return TYPE_NUMERIC;
  else if (s == "code") return TYPE_CODE;
  else if (s == "identifier") return TYPE_IDENTIFIER;
  else if (s == "url") return TYPE_URL;
  else if (s == "graphical") return TYPE_GRAPHICAL;
  else if (s == "point") return TYPE_POINT;
  else if (s == "animation") return TYPE_ANIMATION;
  else if (s == "duration") return TYPE_DURATION;
  else if (s == "unknown") return TYPE_UNKNOWN;
  else if (s == "error") return TYPE_ERROR;
  else return -1;
}

Here is the caller graph for this function:

bool operator!= ( tag_info  ti1,
tag_info  ti2 
)

Definition at line 490 of file tag_info.cpp.

                                         {
  return !(ti1 == ti2);
}
tm_ostream& operator<< ( tm_ostream out,
tag_info  ti 
)

Definition at line 472 of file tag_info.cpp.

                                           {
  out << "[ " << ti->pi << ", " << ti->ci;
  if (ti->extra != "") out << ", " << ti->extra << "\n";
  return out << " ]";
}
bool operator== ( tag_info  ti1,
tag_info  ti2 
)

Definition at line 484 of file tag_info.cpp.

                                         {
  return
    (ti1->pi == ti2->pi) && (ti1->ci == ti2->ci) && (ti1->extra == ti2->extra);
}