# File kwartz.rb, line 3704
        def parse_stmt_load
            Kwartz::assert() unless token() == :load
            scan()
            _syntaxerr("':load' requires '('.") unless token() == '('
            scan()
            filename_expr = parse_expression()
            _syntaxerr("':load(' is not closed.") unless token() == ')'
            scan()
            _syntaxerr("':load' requires filename as a string.") unless filename_expr.token == :string
            filename = filename_expr.left
            @toppings[:load_path].each do |dir|
                if test(?d, dir) && test(?f, "#{dir}/#{filename}")
                    filename = "#{dir}/#{filename}"
                    break
                end
            end if @toppings[:load_path]
            unless test(?f, filename)
                msg = "'#{filename}': not found."
                raise ParseError.new(msg)
            end
            plcode = File.open(filename) { |f| f.read }
            nodelist = Kwartz::Helper.parse(plcode, @toppings)
            return nodelist
        end