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