Hessian 1.0 Grammar

From Resin 3.0

Revision as of 17:30, 28 March 2006 by Ferg (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search


top     ::= call
          ::= reply

call    ::= c x01 x00 header* method object* z

reply  ::= r x01 x00 header* object z
          ::= r x01 x00 header* fault z

object  ::= null
         ::= boolean
       ::= int
       ::= long
       ::= double
       ::= date
       ::= string
       ::= xml
       ::= binary
       ::= remote
       ::= ref
       ::= list
       ::= map

header  ::= H b16 b8 header-string object
method  ::= m b16 b8 method-string

fault   ::= f (object object)*

list    ::= V type? length? object* z
map     ::= M type? (object object)* z
remote  ::= r type? string

type    ::= t b16 b8 type-string
length  ::= l b32 b24 b16 b8

null    ::= N
boolean ::= T
       ::= F
int     ::= I b32 b24 b16 b8
long    ::= L b64 b56 b48 b40 b32 b24 b16 b8
double  ::= D b64 b56 b48 b40 b32 b24 b16 b8
date    ::= d b64 b56 b48 b40 b32 b24 b16 b8
string  ::= (s b16 b8 string-data)* S b16 b8 string-data
xml     ::= (x b16 b8 xml-data)* X b16 b8 xml-data
binary  ::= (b b16 b8 binary-data)* B b16 b8 binary-data
ref     ::= R b32 b24 b16 b8
Personal tools