*** empty log message ***

This commit is contained in:
David Rose 2001-03-06 17:04:45 +00:00
parent 1db4b6f510
commit 8e2aa51d68
6 changed files with 84 additions and 40 deletions

View File

@ -144,25 +144,14 @@ is_clrecv() const {
}
////////////////////////////////////////////////////////////////////
// Function: DCAtomicField::is_aisend
// Function: DCAtomicField::is_ownsend
// Access: Public
// Description: Returns true if the "aisend" flag is set for this
// Description: Returns true if the "ownsend" flag is set for this
// field, false otherwise.
////////////////////////////////////////////////////////////////////
bool DCAtomicField::
is_aisend() const {
return (_flags & F_aisend) != 0;
}
////////////////////////////////////////////////////////////////////
// Function: DCAtomicField::is_airecv
// Access: Public
// Description: Returns true if the "airecv" flag is set for this
// field, false otherwise.
////////////////////////////////////////////////////////////////////
bool DCAtomicField::
is_airecv() const {
return (_flags & F_airecv) != 0;
is_ownsend() const {
return (_flags & F_ownsend) != 0;
}
////////////////////////////////////////////////////////////////////
@ -219,11 +208,8 @@ write(ostream &out, int indent_level) const {
if ((_flags & F_clrecv) != 0) {
out << " clrecv";
}
if ((_flags & F_aisend) != 0) {
out << " aisend";
}
if ((_flags & F_airecv) != 0) {
out << " airecv";
if ((_flags & F_ownsend) != 0) {
out << " ownsend";
}
out << "; // field " << _number << "\n";

View File

@ -34,8 +34,7 @@ PUBLISHED:
bool is_db() const;
bool is_clsend() const;
bool is_clrecv() const;
bool is_aisend() const;
bool is_airecv() const;
bool is_ownsend() const;
public:
DCAtomicField();
@ -61,8 +60,7 @@ public:
F_db = 0x0010,
F_clsend = 0x0020,
F_clrecv = 0x0040,
F_aisend = 0x0080,
F_airecv = 0x0100
F_ownsend = 0x0080,
};
int _flags; // A bitmask union of any of the above values.

View File

@ -323,6 +323,31 @@ REALNUM ([+-]?(([0-9]+[.])|([0-9]*[.][0-9]+))([eE][+-]?[0-9]+)?)
return KW_STRING;
}
"blob" {
accept();
return KW_BLOB;
}
"int16array" {
accept();
return KW_INT16ARRAY;
}
"int32array" {
accept();
return KW_INT32ARRAY;
}
"uint16array" {
accept();
return KW_UINT16ARRAY;
}
"uint32array" {
accept();
return KW_UINT32ARRAY;
}
mol[0-9]+ {
// A molecular keyword.
accept();
@ -366,14 +391,9 @@ mol[0-9]+ {
return KW_CLRECV;
}
"aisend" {
"ownsend" {
accept();
return KW_AISEND;
}
"airecv" {
accept();
return KW_AIRECV;
return KW_OWNSEND;
}
{INTEGERNUM} {

View File

@ -57,6 +57,11 @@ dc_cleanup_parser() {
%token KW_UINT64
%token KW_FLOAT64
%token KW_STRING
%token KW_BLOB
%token KW_INT16ARRAY
%token KW_INT32ARRAY
%token KW_UINT16ARRAY
%token KW_UINT32ARRAY
%token KW_MOL
@ -67,8 +72,7 @@ dc_cleanup_parser() {
%token KW_DB
%token KW_CLSEND
%token KW_CLRECV
%token KW_AISEND
%token KW_AIRECV
%token KW_OWNSEND
%type <u.dclass> dclass_name
%type <u.atomic> atomic_name
@ -228,6 +232,26 @@ type_token:
| KW_STRING
{
$$ = ST_string;
}
| KW_BLOB
{
$$ = ST_blob;
}
| KW_INT16ARRAY
{
$$ = ST_int16array;
}
| KW_INT32ARRAY
{
$$ = ST_int32array;
}
| KW_UINT16ARRAY
{
$$ = ST_uint16array;
}
| KW_UINT32ARRAY
{
$$ = ST_uint32array;
}
;
@ -261,13 +285,9 @@ atomic_flags:
{
current_atomic->_flags |= DCAtomicField::F_clrecv;
}
| atomic_flags KW_AISEND
| atomic_flags KW_OWNSEND
{
current_atomic->_flags |= DCAtomicField::F_aisend;
}
| atomic_flags KW_AIRECV
{
current_atomic->_flags |= DCAtomicField::F_airecv;
current_atomic->_flags |= DCAtomicField::F_ownsend;
}
;

View File

@ -37,6 +37,21 @@ operator << (ostream &out, DCSubatomicType type) {
case ST_string:
return out << "string";
case ST_blob:
return out << "blob";
case ST_int16array:
return out << "int16array";
case ST_int32array:
return out << "int32array";
case ST_uint16array:
return out << "uint16array";
case ST_uint32array:
return out << "uint32array";
}
return out << "invalid type: " << (int)type;

View File

@ -29,7 +29,12 @@ enum DCSubatomicType {
ST_float64,
ST_string,
ST_string, // a human-printable string
ST_blob, // any variable length message, stored as a string
ST_int16array,
ST_int32array,
ST_uint16array,
ST_uint32array,
};
END_PUBLISH