next up previous contents index
Next: Grammar of the Up: Grammar of the Previous: Terminal Symbols

Grammar:

 

out_file                ::= file_header sections

file_header             ::= WHITESPACE  COMMENT h_snns EOL COMMENT h_generated_at EOL
                            COMMENT h_network_name EOL COMMENT h_source_files EOL
                            COMMENT h_no.of_unites EOL COMMENT h_no.of_connections EOL
                            COMMENT h_no.of_unit_types EOL COMMENT h_no.of_site_types EOL
                            COMMENT h_learning_function EOL COMMENT h_update_function EOL
                            COMMENT h_pruning_function EOL 
                            COMMENT ff_learning_function EOL


/* parts of the file-header */

h_snns                  ::= SNNS BLANKS_TABS VERSION 
h_generated_at          ::= GENERATED_AT BLANKS_TABS CSTRING
h_network_name          ::= NETWORK_NAME BLANKS_TABS STRING
h_source_files          ::= SOURCE_FILES [BLANKS_TABS COLON BLANKS_TABS CSTRING]
h_no.of_unites          ::= NO.OF_UNITES BLANKS_TABS INTEGER
h_no.of_connections     ::= NO.OF_CONNECTIONS BLANKS_TABS INTEGER
h_no.of_unit_types      ::= NO.OF_UNIT_TYPES BLANKS_TABS INTEGER
h_no.of_site_types      ::= NO.OF_SITE_TYPES BLANKS_TABS INTEGER
h_learning_function     ::= LEARNING_FUNCTION BLANKS_TABS STRING
h_pruning_function      ::= PRUNING_FUNCTION BLANKS_TABS STRING
h_ff_learning_function  ::= FF_LEARNING_FUNCTION BLANKS_TABS STRING
h_update_function       ::= UPDATE_FUNCTION BLANKS_TABS STRING

sections                ::= COMMENT unit_section [COMMENT default_section]
                            [COMMENT site_section] [COMMENT type_section]
                            [COMMENT subnet_section] [COMMENT conn_section]
                            [COMMENT layer_section] [COMMENT trans_section]
                            [COMMENT time_delay_section] COMMENT


/* unit default section */

default_section         ::= DEFAULT_SECTION_TITLE CUT COMMENT WHITESPACE  default_block
default_block           ::= default_header SEVEN_COLUMN_LINE EOL
                            {COMMENT default_def} SEVEN_COLUMN_LINE EOL
default_header          ::= ACT COL_SEP BIAS COL_SEP ST COL_SEP SUBNET COL_SEP
                            LAYER COL_SEP ACT_FUNC COL_SEP OUT_FUNC CUT
default_def             ::= SFLOAT W_COL_SEP SFLOAT W_COL_SEP STRING W_COL_SEP
                            INTEGER W_COL_SEP INTEGER W_COL_SEP STRING W_COL_SEP
                            STRING CUT


/* site definition section */

site_section            ::= SITE_SECTION_TITLE CUT COMMENT WHITESPACE  site_block
site_block              ::= site_header TWO_COLUMN_LINE EOL {COMMENT site_def}
                            TWO_COLUMN_LINE EOL
site_header             ::= SITE_NAME SITE_FUNCTION CUT
site_def                ::= STRING W_COL_SEP STRING CUT


/* type definition section */

type_section            ::= TYPE_SECTION_TITLE CUT COMMENT WHITESPACE  type_block
type_block              ::= type_header FOUR_COLUMN_LINE EOL {COMMENT type_def}
                            FOUR_COLUMN_LINE EOL
type_header             ::= NAME COL_SEP ACT_FUNC COL_SEP OUT_FUNC COL_SEP SITES CUT
type_def                ::= STRING W_COL_SEP STRING W_COL_SEP STRING W_COL_SEP
                            [{STRING COMMA} STRING] CUT


/* subnet definition section */

subnet_section          ::= SUBNET_SECTION_TITLE CUT COMMENT WHITESPACE  subnet_block
subnet_block            ::= subnet_header TWO_COLUMN_LINE EOL {COMMENT subnet_def}
                            TWO_COLUMN_LINE EOL
subnet_header           ::= SUBNET COL_SEP UNIT_NO CUT
subnet_def              ::= INTEGER W_COL_SEP {INTEGER COMMA} INTEGER CUT

/* unit definition section /*

unit_section            ::= UNIT_SECTION_TITLE CUT COMMENT WHITESPACE  unit_block
unit_block              ::= unit_header TEN_COLUMN_LINE EOL {COMMENT unit_def}
                            TEN_COLUMN_LINE EOL

unit_header             ::= NO COL_SEP TYPE_NAME COL_SEP UNIT_NAME COL_SEP
                            ACT COL_SEP BIAS COL_SEP ST COL_SEP POSITION COL_SEP
                            ACT_FUNC COL_SEP OUT_FUNC COL_SEP SITES CUT
unit_def                ::= INTEGER W_COL_SEP ((STRING W_COL_SEP) | COL_SEP)
                            ((STRING W_COL_SEP) | COL_SEP) ((SFLOAT W_COL_SEP) | COL_SEP)
                            ((SFLOAT W_COL_SEP) | COL_SEP) ((STRING W_COL_SEP) | COL_SEP)
                            INTEGER COMMENT INTEGER COMMENT INTEGER W_COL_SEP
                            ((STRING W_COL_SEP) | COL_SEP) ((STRING W_COL_SEP) | COL_SEP) 
                            [{STRING COMMA} STRING]

/* connection definition section */
                     
connection_section      ::= CONNECTION_SECTION_TITLE CUT 
                            COMMENT WHITESPACE connection_block
connection_block        ::= connection_header THREE_COLUMN_LINE EOL
                            {COMMENT connection_def} THREE_COLUMN_LINE EOL
connection_header       ::= TARGET COL_SEP SITE COL_SEP SOURCE:WEIGHT CUT
connection_def          ::= ((INTEGER W_COL_SEP) | COL_SEP) STRING W_COL_SEP
                            {INTEGER WHITESPACE  COLON WHITESPACE  SFLOAT COMMA}
                            INTEGER WHITESPACE  COLON WHITESPACE  SFLOAT CUT


/* layer definition section */

layer_section           ::= LAYER_SECTION_TITLE CUT COMMENT WHITESPACE  layer_block
layer_block             ::= layer_header TWO_COLUMN_LINE EOL {COMMENT layer_def}
                            TWO_COLUMN_LINE EOL
layer_header            ::= LAYER COL_SEP UNIT_NO CUT
layer_def               ::= INTEGER W_COL_SEP {INTEGER COMMENT} INTEGER CUT


/* 3D translation section */

translation_section     ::= TRANSLATION_SECTION_TITLE CUT 
                            COMMENT WHITESPACE  translation_block
translation_block       ::= translation_header THREE_COLUMN_LINE EOL
                            {COMMENT translation_def} THREE_COLUMN_LINE EOL
translation_header      ::= DELTA_X COL_SEP DELTA_Y COL_SEP Z CUT
translation_def         ::= INTEGER W_COL_SEP INTEGER W_COL_SEP INTEGER     


/* time delay section */

td_section              ::= TIME_DELAY_SECTION_TITLE CUT COMMENT WHITESPACE  td_block
td_block                ::= td_header SIX_COLUMN_LINE EOL {COMMENT td_def}
                            SIX_COLUMN_LINE EOL
td_header               ::= NO COL_SEP LLN COL_SEP LUN COL_SEP
                            TROFF COL_SEP SOFF COL_SEP CTYPE CUT
td_def                  ::= INTEGER W_COL_SEP INTEGER W_COL_SEP INTEGER W_COL_SEP 
                            INTEGER W_COL_SEP INTEGER W_COL_SEP INTEGER W_COL_SEP



Niels Mache
Wed May 17 11:23:58 MET DST 1995