LEAF GrammarIndex

This grammar describes the syntax of LEAF (Little Embedded Application Fragment) definition files for BrainStem reflexes.  The leaf command can be used in the console to compile LEAF files into a batch file that describes the reflexes.

reflex-unit:
   module-declaration 
   reflex-unit  module-declaration 

module-declaration:
   module-specifier  {  reflex-declaration  } 

reflex-declaration:
   message-declaration 
   reflex-declaration  message-declaration 
   vector-declaration 
   reflex-declaration  vector-declaration 
   inline-declaration 
   reflex-declaration  inline-declaration 

message-declaration:
   message-specifier  {  packet-data  } 

vector-declaration:
   vector-specifier  {  message-reference-list  } 

inline-declaration:
   prefix  {  packet-data  } 
   suffix  {  packet-data  } 

message-specifier:
   message  [  constant-value  ] 

module-specifier:
   module  [  constant-value  ] 

vector-specifier:
   vector  [  constant-value  ] 

packet-data:
   constant-value 
   packet-data  ,  constant-value 

message-reference-list:
   message-reference 
   message-reference-list  ,  message-reference 

message-reference:
   constant-value 
   lmodify-message-reference 
   rmodify-message-reference 

lmodify-message-reference:
   message-modify-reference  -  type-specifier 
   message-modify-reference  =  type-specifier 

rmodify-message-reference:
   type-specifier  +  message-modify-reference 
   type-specifier  -  message-modify-reference 
   type-specifier  *  message-modify-reference 
   type-specifier  >>  message-modify-reference 

type-specifier:
   char 
   int 

message-modify-reference:
   constant-value  [  constant-value  ] 

constant-value:
   primary-expression 

primary-expression:
   constant 
   (  constant-value  ) 


version: 1.0, build n.a.
© Copyright 1994-2012 Acroname, Inc., Boulder, Colorado.  All rights reserved.