## -*- tcl -*-
##
## NX-based Tcl/PARAM implementation of the parsing
## expression grammar
##
##	TEMPLATE
##
## Generated from file	TEST
##            for user  unknown
##
# # ## ### ##### ######## ############# #####################
## Requirements

package require Tcl 8.5 9
package require nx
package require pt::rde::nx ; # NX-based implementation of the
			      # PARAM virtual machine
			      # underlying the Tcl/PARAM code
			      # used below.

# # ## ### ##### ######## ############# #####################
##

nx::Class create PARSER -superclasses pt::rde::nx {
    # # ## ### ##### ######## #############
    ## Public API
    
    :public method parse {channel} {
	:reset $channel
	:MAIN ; # Entrypoint for the generated code.
	return [:complete]
    }

    :public method parset {text} {
	:reset {}
	:data $text
	:MAIN ; # Entrypoint for the generated code.
	return [:complete]
    }

    # # ## ### ###### ######## #############
    ## BEGIN of GENERATED CODE. DO NOT EDIT.

    #
    # Grammar Start Expression
    #
    
    :method MAIN {} {
        : sym_TEST
        return
    }
    
    #
    # value Symbol 'TEST'
    #
    
    :method sym_TEST {} {
        # x
        #     !
        #         'a'
        #     (IDENTIFIER)
    
        : si:void_symbol_start TEST
        : sequence_6
        : si:void_leaf_symbol_end TEST
        return
    }
    
    :method sequence_6 {} {
        # x
        #     !
        #         'a'
        #     (IDENTIFIER)
    
        : si:void_state_push
        : notahead_3
        : si:voidvoid_part
        : i_status_fail ; # Undefined symbol 'IDENTIFIER'
        : si:void_state_merge
        return
    }
    
    :method notahead_3 {} {
        # !
        #     'a'
    
        : i_loc_push
        : si:next_char a
        : si:void_notahead_exit
        return
    }
    
    ## END of GENERATED CODE. DO NOT EDIT.
    # # ## ### ###### ######## #############
}

# # ## ### ##### ######## ############# #####################
## Ready

package provide NX_PACKAGE 1
return
