/*
**
** The C code is generated by ATS/Anairiats
** The compilation time is: 2020-11-6:  1h:10m
**
*/

/* include some .h files */
#ifndef _ATS_HEADER_NONE
#include "ats_config.h"
#include "ats_basics.h"
#include "ats_types.h"
#include "ats_exception.h"
#include "ats_memory.h"
#endif /* _ATS_HEADER_NONE */

/* include some .cats files */
#ifndef _ATS_PRELUDE_NONE
#include "prelude/CATS/basics.cats"
#include "prelude/CATS/bool.cats"
#include "prelude/CATS/char.cats"
#include "prelude/CATS/byte.cats"
#include "prelude/CATS/float.cats"
#include "prelude/CATS/integer.cats"
#include "prelude/CATS/integer_ptr.cats"
#include "prelude/CATS/integer_fixed.cats"
#include "prelude/CATS/sizetype.cats"
#include "prelude/CATS/pointer.cats"
#include "prelude/CATS/reference.cats"
#include "prelude/CATS/string.cats"
#include "prelude/CATS/lazy.cats"
#include "prelude/CATS/lazy_vt.cats"
#include "prelude/CATS/printf.cats"
#include "prelude/CATS/list.cats"
#include "prelude/CATS/option.cats"
#include "prelude/CATS/array.cats"
#include "prelude/CATS/matrix.cats"
#endif /* _ATS_PRELUDE_NONE */
/* prologues from statically loaded files */

#include "pats_location.cats"

#include "libats/CATS/linqueue_arr.cats"

#include "libats/ngc/CATS/deque_arr.cats"

#include "libats/CATS/linqueue_arr.cats"

#include "libats/ngc/CATS/deque_arr.cats"

#include "pats_reader.cats"

#include "pats_lexbuf.cats"

#include "pats_location.cats"
/* external codes at top */
/* type definitions */
typedef
struct {
ats_ptr_type atslab_3 ;
ats_ptr_type atslab_4 ;
} anairiats_rec_0 ;

/* external typedefs */
/* external dynamic constructor declarations */
/* external dynamic constant declarations */
ATSextern_fun(ats_void_type, atspre_assert_errmsg) (ats_bool_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_vbox_make_view_ptr) (ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_string_append) (ats_ptr_type, ats_ptr_type) ;
ATSextern_fun(ats_uchar_type, atspre_uchar_of_int) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_int_of_uchar) (ats_uchar_type) ;
ATSextern_fun(ats_int_type, atspre_add_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gte_int_int) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isucc) (ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_iadd) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_isub) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_int_type, atspre_idiv) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_ilt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igt) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_igte) (ats_int_type, ats_int_type) ;
ATSextern_fun(ats_lint_type, atspre_lint_of_uint) (ats_uint_type) ;
ATSextern_fun(ats_uint_type, atspre_uint_of_lint) (ats_lint_type) ;
ATSextern_fun(ats_lint_type, atspre_add_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_lint_type, atspre_sub_lint_lint) (ats_lint_type, ats_lint_type) ;
ATSextern_fun(ats_int_type, atspre_int_of_size) (ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_size_of_uint) (ats_uint_type) ;
ATSextern_fun(ats_size_type, atspre_size1_of_int1) (ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_add_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_size_type, atspre_sub_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_size_type, atspre_mul2_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_lte_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_gt_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_int1) (ats_size_type, ats_int_type) ;
ATSextern_fun(ats_bool_type, atspre_eq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_bool_type, atspre_neq_size1_size1) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ptr_alloc_tsz) (ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_ptr_zero_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_ref_make_elt_tsz) (ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, ListSubscriptException_make) () ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_alloc_tsz) (ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_free) (ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_funenv_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_initialize_cloenv_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_split_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atspre_array_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type) ;
ATSextern_fun(anairiats_rec_0, atspre_array_ptr_takeout2_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_foreach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, atspre_array_ptr_iforeach_funenv_tsz) (ats_ref_type, ats_ptr_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_ptr_type, atspre_array2_ptr_takeout_tsz) (ats_ptr_type, ats_size_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_qsort) (ats_ref_type, ats_size_type, ats_size_type, ats_ptr_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_cap) (ats_ref_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_linqueue_arr_queue_uninitialize) (ats_ref_type) ;
ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__queue_get_strptr1) (ats_ref_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_lint_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot) (ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_nrow) (ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ncol) (ats_ref_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_init) (ats_ref_type, ats_lint_type, ats_int_type, ats_int_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_pos_pos) (pats_position_struct, pats_position_struct) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_cap) (ats_ref_type) ;
ATSextern_fun(ats_size_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_size) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_empty) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_is_full) (ats_ref_type) ;
ATSextern_fun(ats_bool_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_isnot_full) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_initialize_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_uninitialize) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_uninitialize_vt) (ats_ref_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_takeout_tsz) (ats_ref_type, ats_size_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_insert_end_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_remove_beg_many_tsz) (ats_ref_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_void_type, ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__deque_clear_all) (ats_ref_type) ;
ATSextern_fun(ats_void_type, atslib_ngc_deque_arr_deque_copyout_tsz) (ats_ref_type, ats_size_type, ats_size_type, ats_ref_type, ats_size_type) ;
ATSextern_fun(ats_ptr_type, atslib_ngc_deque_arr_deque_update_capacity_tsz) (ats_ref_type, ats_size_type, ats_ptr_type, ats_size_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_filp) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_getc) (ats_ref_type, ats_clo_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_string) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_charlst_vt) (ats_ref_type, ats_ptr_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_uninitize) (ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_get_char) (ats_ref_type) ;
ATSextern_fun(ats_void_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_position) (ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_uint_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff) (ats_ref_type, ats_ref_type) ;
ATSextern_fun(ats_int_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_char) (ats_ref_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0) (ats_ref_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1) (ats_ref_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0) (ats_ref_type, ats_uint_type, ats_uint_type) ;
ATSextern_fun(ats_ptr_type, _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1) (ats_ref_type, ats_uint_type, ats_uint_type) ;

/* external dynamic terminating constant declarations */
#ifdef _ATS_PROOFCHECK
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__lemma_queue_param_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
extern
ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_untrans_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* assuming abstract types */
int _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__sasp__lexbuf_vt0ype = 0 ;

/* sum constructor declarations */
/* exn constructor declarations */
/* global dynamic (non-functional) constant declarations */
/* internal function declarations */
static
ats_ptr_type array_ptr_alloc_01563_ats_uchar_type (ats_size_type arg0) ;
static
ats_void_type deque_initialize_02098_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ;
static
ats_void_type queue_initialize_01907_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;
static
ats_void_type deque_clear_beg_02113_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;
static
ats_void_type queue_clear_01917_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;
static
ats_uchar_type deque_get_elt_at_02103_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;
static
ats_uchar_type queue_get_elt_at_01911_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;
static
ats_ptr_type DEQUEptrnxt_02125_ats_uchar_type (ats_ref_type arg0, ats_ptr_type arg1) ;
static
ats_void_type deque_insert_end_02106_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ;
static
ats_void_type queue_insert_01913_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) ;
static
ats_ptr_type deque_update_capacity_02118_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) ;
static
ats_void_type queue_update_capacity_01920_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) ;

/* partial value template declarations */
/* static temporary variable declarations */
/* external value variable declarations */

/* function implementations */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/prelude/DATS/array.dats: 23852(line=868, offs=17) -- 23896(line=868, offs=61)
*/
ATSstaticdec()
ats_ptr_type
array_ptr_alloc_01563_ats_uchar_type (ats_size_type arg0) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp4) ;

__ats_lab_array_ptr_alloc_01563_ats_uchar_type:
tmp4 = atspre_array_ptr_alloc_tsz (arg0, sizeof(ats_uchar_type)) ;
return (tmp4) ;
} /* end of [array_ptr_alloc_01563_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 5421(line=211, offs=22) -- 5522(line=214, offs=69)
*/
ATSstaticdec()
ats_void_type
deque_initialize_02098_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) {
/* local vardec */
// ATSlocal_void (tmp6) ;

__ats_lab_deque_initialize_02098_ats_uchar_type:
/* tmp6 = */ atslib_ngc_deque_arr_deque_initialize_tsz (arg0, arg1, arg2, sizeof(ats_uchar_type)) ;
return /* (tmp6) */ ;
} /* end of [deque_initialize_02098_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/DATS/linqueue_arr.dats: 2304(line=77, offs=3) -- 2428(line=81, offs=4)
*/
ATSstaticdec()
ats_void_type
queue_initialize_01907_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
// ATSlocal_void (tmp2) ;
ATSlocal (ats_ptr_type, tmp3) ;
ATSlocal (ats_ptr_type, tmp5) ;

__ats_lab_queue_initialize_01907_ats_uchar_type:
tmp3 = array_ptr_alloc_01563_ats_uchar_type (arg1) ;
tmp5 = ats_selsin_mac(tmp3, atslab_2) ;
/* tmp2 = */ deque_initialize_02098_ats_uchar_type (arg0, arg1, tmp5) ;
return /* (tmp2) */ ;
} /* end of [queue_initialize_01907_ats_uchar_type] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 2854(line=119, offs=3) -- 3205(line=138, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_filp (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp0) ;
// ATSlocal_void (tmp1) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_filp:
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = 0L ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = 0 ;
/* tmp1 = */ queue_initialize_01907_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ;
/* tmp0 = */ _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_filp (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ;
return /* (tmp0) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_filp] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 3295(line=144, offs=3) -- 3620(line=163, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_getc (ats_ref_type arg0, ats_clo_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp7) ;
// ATSlocal_void (tmp8) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_getc:
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = 0L ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = 0 ;
/* tmp8 = */ queue_initialize_01907_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ;
/* tmp7 = */ _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_getc (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ;
return /* (tmp7) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_getc] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 3712(line=169, offs=3) -- 4034(line=187, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_string (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp9) ;
// ATSlocal_void (tmp10) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_string:
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = 0L ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = 0 ;
/* tmp10 = */ queue_initialize_01907_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ;
/* tmp9 = */ _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_string (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ;
return /* (tmp9) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_string] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 4132(line=193, offs=3) -- 4469(line=211, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_charlst_vt (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
// ATSlocal_void (tmp11) ;
// ATSlocal_void (tmp12) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_charlst_vt:
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = 0L ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = 0 ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = 0 ;
/* tmp12 = */ queue_initialize_01907_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), 1024) ;
/* tmp11 = */ _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_initize_charlst_vt (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader), arg1) ;
return /* (tmp11) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_initize_charlst_vt] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 4562(line=217, offs=3) -- 4774(line=227, offs=2)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_uninitize (ats_ref_type arg0) {
/* local vardec */
// ATSlocal_void (tmp13) ;
// ATSlocal_void (tmp14) ;
// ATSlocal_void (tmp15) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_uninitize:
/* tmp14 = */ atslib_linqueue_arr_queue_uninitialize (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
/* tmp15 = */ _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_uninitize (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader)) ;
return /* (tmp13) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_uninitize] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 4853(line=233, offs=3) -- 4941(line=237, offs=4)
*/
ATSglobaldec()
ats_uint_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
ATSlocal (ats_uint_type, tmp16) ;
ATSlocal (ats_lint_type, tmp17) ;
ATSlocal (ats_lint_type, tmp18) ;
ATSlocal (ats_lint_type, tmp19) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff:
tmp18 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot (arg1) ;
tmp19 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp17 = atspre_sub_lint_lint (tmp18, tmp19) ;
tmp16 = atspre_uint_of_lint (tmp17) ;
return (tmp16) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 5017(line=242, offs=17) -- 5033(line=242, offs=33)
*/
ATSglobaldec()
ats_lint_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_base (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_lint_type, tmp20) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_base:
tmp20 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
return (tmp20) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_base] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 5088(line=248, offs=3) -- 5232(line=254, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_position (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp21) ;
ATSlocal (ats_lint_type, tmp22) ;
ATSlocal (ats_int_type, tmp23) ;
ATSlocal (ats_int_type, tmp24) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_position:
tmp22 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp23 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) ;
tmp24 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) ;
/* tmp21 = */ _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_init (arg1, tmp22, tmp23, tmp24) ;
return /* (tmp21) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_position] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 10929(line=427, offs=15) -- 11658(line=451, offs=2)
*/
ATSstaticdec()
ats_void_type
deque_clear_beg_02113_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
// ATSlocal_void (tmp34) ;
ATSlocal (ats_size_type, tmp35) ;
ATSlocal (ats_ptr_type, tmp36) ;
ATSlocal (ats_ptr_type, tmp37) ;
ATSlocal (ats_ptr_type, tmp38) ;
ATSlocal (ats_size_type, tmp39) ;
ATSlocal (ats_bool_type, tmp41) ;
ATSlocal (ats_ptr_type, tmp42) ;
ATSlocal (ats_ptr_type, tmp43) ;
ATSlocal (ats_ptrdiff_type, tmp44) ;
ATSlocal (ats_ptr_type, tmp45) ;
ATSlocal (ats_size_type, tmp46) ;

__ats_lab_deque_clear_beg_02113_ats_uchar_type:
tmp35 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ;
tmp36 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ;
tmp37 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) ;
/* ats_ptr_type tmp38 ; */
tmp39 = atspre_mul_size1_size1 (arg1, sizeof(ats_uchar_type)) ;
tmp38 = atspre_padd_size (tmp37, tmp39) ;
tmp41 = atspre_pgte (tmp38, tmp36) ;
if (tmp41) {
tmp43 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ;
tmp44 = atspre_pdiff (tmp38, tmp36) ;
tmp42 = atspre_padd_size (tmp43, ats_castfn_mac(ats_size_type, tmp44)) ;
tmp38 = tmp42 ;
} else {
/* empty */
} /* end of [if] */
tmp45 = ats_castfn_mac(ats_ptr_type, tmp38) ;
tmp46 = atspre_sub_size1_size1 (tmp35, arg1) ;
ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp46 ;
ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_beg) = tmp45 ;
return /* (tmp34) */ ;
} /* end of [deque_clear_beg_02113_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/DATS/linqueue_arr.dats: 3899(line=149, offs=3) -- 3939(line=149, offs=43)
*/
ATSstaticdec()
ats_void_type
queue_clear_01917_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
// ATSlocal_void (tmp33) ;

__ats_lab_queue_clear_01917_ats_uchar_type:
/* tmp33 = */ deque_clear_beg_02113_ats_uchar_type (arg0, arg1) ;
return /* (tmp33) */ ;
} /* end of [queue_clear_01917_ats_uchar_type] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 5319(line=260, offs=3) -- 5922(line=293, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_position (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
// ATSlocal_void (tmp25) ;
ATSlocal (ats_lint_type, tmp26) ;
ATSlocal (ats_lint_type, tmp27) ;
ATSlocal (ats_int_type, tmp28) ;
ATSlocal (ats_int_type, tmp29) ;
ATSlocal (ats_lint_type, tmp30) ;
ATSlocal (ats_size_type, tmp31) ;
ATSlocal (ats_bool_type, tmp32) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_position:
tmp26 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp27 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot (arg1) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = tmp27 ;
tmp28 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_nrow (arg1) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_nrow) = tmp28 ;
tmp29 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ncol (arg1) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = tmp29 ;
tmp30 = atspre_sub_lint_lint (tmp27, tmp26) ;
tmp31 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
tmp32 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, ats_castfn_mac(ats_size_type, tmp30)), tmp31) ;
if (tmp32) {
/* tmp25 = */ queue_clear_01917_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), ats_castfn_mac(ats_size_type, ats_castfn_mac(ats_size_type, tmp30))) ;
} else {
/* tmp25 = */ ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
} /* end of [if] */
return /* (tmp25) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_position] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 6005(line=298, offs=19) -- 6023(line=298, offs=37)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_nspace (ats_ref_type arg0) {
/* local vardec */
ATSlocal (ats_int_type, tmp47) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_nspace:
tmp47 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) ;
return (tmp47) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_nspace] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 6052(line=300, offs=19) -- 6078(line=300, offs=45)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_nspace (ats_ref_type arg0, ats_int_type arg1) {
/* local vardec */
// ATSlocal_void (tmp48) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_nspace:
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), nspace) = arg1 ;
return /* (tmp48) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_set_nspace] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 6136(line=306, offs=3) -- 6294(line=313, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_location (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp49) ;
ATSlocal (pats_position_struct, tmp50) ;
// ATSlocal_void (tmp51) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_location:
/* pats_position_struct tmp50 ; */
/* tmp51 = */ _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_position (arg0, (&tmp50)) ;
tmp49 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__location_make_pos_pos (tmp50, ats_ptrget_mac(pats_position_struct, arg1)) ;
return (tmp49) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_location] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 7245(line=285, offs=3) -- 7378(line=291, offs=2)
*/
ATSstaticdec()
ats_uchar_type
deque_get_elt_at_02103_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
ATSlocal (ats_uchar_type, tmp58) ;
ATSlocal (ats_ptr_type, tmp59) ;
ATSlocal (ats_ptr_type, tmp60) ;

__ats_lab_deque_get_elt_at_02103_ats_uchar_type:
tmp59 = atslib_ngc_deque_arr_deque_takeout_tsz (arg0, arg1, sizeof(ats_uchar_type)) ;
tmp60 = ats_selsin_mac(tmp59, atslab_2) ;
tmp58 = ats_ptrget_mac(ats_uchar_type, tmp60) ;
return (tmp58) ;
} /* end of [deque_get_elt_at_02103_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/DATS/linqueue_arr.dats: 3260(line=115, offs=3) -- 3296(line=115, offs=39)
*/
ATSstaticdec()
ats_uchar_type
queue_get_elt_at_01911_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
ATSlocal (ats_uchar_type, tmp57) ;

__ats_lab_queue_get_elt_at_01911_ats_uchar_type:
tmp57 = deque_get_elt_at_02103_ats_uchar_type (arg0, arg1) ;
return (tmp57) ;
} /* end of [queue_get_elt_at_01911_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 4302(line=161, offs=29) -- 4599(line=171, offs=4)
*/
ATSstaticdec()
ats_ptr_type
DEQUEptrnxt_02125_ats_uchar_type (ats_ref_type arg0, ats_ptr_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp71) ;
ATSlocal (ats_ptr_type, tmp72) ;
ATSlocal (ats_bool_type, tmp74) ;
ATSlocal (ats_ptr_type, tmp75) ;
ATSlocal (ats_ptr_type, tmp76) ;

__ats_lab_DEQUEptrnxt_02125_ats_uchar_type:
/* ats_ptr_type tmp72 ; */
tmp72 = atspre_padd_size (arg1, sizeof(ats_uchar_type)) ;
tmp75 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_rgt) ;
tmp74 = atspre_pgte (tmp72, tmp75) ;
if (tmp74) {
tmp76 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_lft) ;
tmp72 = tmp76 ;
} else {
/* empty */
} /* end of [if] */
tmp71 = tmp72 ;
return (tmp71) ;
} /* end of [DEQUEptrnxt_02125_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 8755(line=344, offs=18) -- 9091(line=357, offs=4)
*/
ATSstaticdec()
ats_void_type
deque_insert_end_02106_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) {
/* local vardec */
// ATSlocal_void (tmp68) ;
ATSlocal (ats_ptr_type, tmp69) ;
ATSlocal (ats_ptr_type, tmp70) ;
ATSlocal (ats_ptr_type, tmp77) ;
ATSlocal (ats_size_type, tmp78) ;
ATSlocal (ats_size_type, tmp79) ;

__ats_lab_deque_insert_end_02106_ats_uchar_type:
tmp69 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) ;
tmp70 = DEQUEptrnxt_02125_ats_uchar_type (arg0, tmp69) ;
tmp77 = ats_selsin_mac(tmp70, atslab_1) ;
ats_ptrget_mac(ats_uchar_type, tmp69) = arg1 ;
tmp79 = ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) ;
tmp78 = atspre_add_size1_int1 (tmp79, 1) ;
ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), nitm) = tmp78 ;
ats_select_mac(ats_ptrget_mac(atslib_ngc_deque_arr_DEQUE, arg0), qarr_end) = tmp77 ;
return /* (tmp68) */ ;
} /* end of [deque_insert_end_02106_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/DATS/linqueue_arr.dats: 3481(line=127, offs=3) -- 3517(line=127, offs=39)
*/
ATSstaticdec()
ats_void_type
queue_insert_01913_ats_uchar_type (ats_ref_type arg0, ats_uchar_type arg1) {
/* local vardec */
// ATSlocal_void (tmp67) ;

__ats_lab_queue_insert_01913_ats_uchar_type:
/* tmp67 = */ deque_insert_end_02106_ats_uchar_type (arg0, arg1) ;
return /* (tmp67) */ ;
} /* end of [queue_insert_01913_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/ngc/DATS/deque_arr.dats: 13207(line=513, offs=23) -- 13311(line=516, offs=71)
*/
ATSstaticdec()
ats_ptr_type
deque_update_capacity_02118_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1, ats_ptr_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp85) ;

__ats_lab_deque_update_capacity_02118_ats_uchar_type:
tmp85 = atslib_ngc_deque_arr_deque_update_capacity_tsz (arg0, arg1, arg2, sizeof(ats_uchar_type)) ;
return (tmp85) ;
} /* end of [deque_update_capacity_02118_ats_uchar_type] */

/*
// /nix/store/rfja8ixrs5wb4kj3kiwlch1apnh7qgvy-ats-0.2.12/lib/ats-anairiats-0.2.12/libats/DATS/linqueue_arr.dats: 4205(line=166, offs=3) -- 4422(line=171, offs=2)
*/
ATSstaticdec()
ats_void_type
queue_update_capacity_01920_ats_uchar_type (ats_ref_type arg0, ats_size_type arg1) {
/* local vardec */
// ATSlocal_void (tmp81) ;
ATSlocal (ats_ptr_type, tmp82) ;
ATSlocal (ats_ptr_type, tmp83) ;
ATSlocal (ats_ptr_type, tmp84) ;
ATSlocal (ats_ptr_type, tmp86) ;

__ats_lab_queue_update_capacity_01920_ats_uchar_type:
tmp82 = array_ptr_alloc_01563_ats_uchar_type (arg1) ;
tmp83 = ats_selsin_mac(tmp82, atslab_2) ;
tmp84 = deque_update_capacity_02118_ats_uchar_type (arg0, arg1, tmp83) ;
tmp86 = ats_selsin_mac(tmp84, atslab_2) ;
/* tmp81 = */ atspre_array_ptr_free (tmp86) ;
return /* (tmp81) */ ;
} /* end of [queue_update_capacity_01920_ats_uchar_type] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 6380(line=319, offs=3) -- 7130(line=362, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_char (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp52) ;
ATSlocal (ats_size_type, tmp53) ;
ATSlocal (ats_size_type, tmp54) ;
ATSlocal (ats_bool_type, tmp55) ;
ATSlocal (ats_uchar_type, tmp56) ;
ATSlocal (ats_int_type, tmp61) ;
ATSlocal (ats_bool_type, tmp62) ;
ATSlocal (ats_uchar_type, tmp63) ;
ATSlocal (ats_size_type, tmp64) ;
ATSlocal (ats_bool_type, tmp65) ;
// ATSlocal_void (tmp66) ;
// ATSlocal_void (tmp80) ;
ATSlocal (ats_size_type, tmp87) ;
// ATSlocal_void (tmp88) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_char:
tmp53 = atspre_size_of_uint (arg1) ;
tmp54 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
tmp55 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, tmp53), tmp54) ;
if (tmp55) {
tmp56 = queue_get_elt_at_01911_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), ats_castfn_mac(ats_size_type, tmp53)) ;
tmp52 = atspre_int_of_uchar (tmp56) ;
} else {
tmp61 = _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__reader_get_char (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), reader)) ;
tmp62 = atspre_gte_int_int (tmp61, 0) ;
if (tmp62) {
tmp63 = atspre_uchar_of_int (tmp61) ;
tmp64 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_cap (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
tmp65 = atspre_gt_size1_size1 (tmp64, tmp54) ;
if (tmp65) {
/* tmp66 = */ queue_insert_01913_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), tmp63) ;
tmp52 = tmp61 ;
} else {
tmp87 = atspre_add_size1_int1 (tmp64, 1024) ;
/* tmp80 = */ queue_update_capacity_01920_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), tmp87) ;
/* tmp88 = */ queue_insert_01913_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), tmp63) ;
tmp52 = tmp61 ;
} /* end of [if] */
} else {
tmp52 = tmp61 ;
} /* end of [if] */
} /* end of [if] */
return (tmp52) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_char] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 7212(line=368, offs=3) -- 7341(line=373, offs=4)
*/
ATSglobaldec()
ats_int_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_char (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
ATSlocal (ats_int_type, tmp89) ;
ATSlocal (ats_lint_type, tmp90) ;
ATSlocal (ats_lint_type, tmp91) ;
ATSlocal (ats_lint_type, tmp92) ;
ATSlocal (ats_uint_type, tmp93) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_char:
tmp91 = _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__position_get_ntot (arg1) ;
tmp92 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp90 = atspre_sub_lint_lint (tmp91, tmp92) ;
tmp93 = atspre_uint_of_lint (tmp90) ;
tmp89 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_char (arg0, tmp93) ;
return (tmp89) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_char] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 7426(line=379, offs=3) -- 7986(line=400, offs=4)
*/
ATSglobaldec()
ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_incby_count (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
// ATSlocal_void (tmp94) ;
ATSlocal (ats_size_type, tmp95) ;
ATSlocal (ats_size_type, tmp96) ;
ATSlocal (ats_bool_type, tmp97) ;
ATSlocal (ats_lint_type, tmp98) ;
ATSlocal (ats_lint_type, tmp99) ;
ATSlocal (ats_lint_type, tmp100) ;
ATSlocal (ats_int_type, tmp101) ;
ATSlocal (ats_int_type, tmp102) ;
ATSlocal (ats_lint_type, tmp103) ;
ATSlocal (ats_lint_type, tmp104) ;
ATSlocal (ats_int_type, tmp105) ;
ATSlocal (ats_int_type, tmp106) ;
ATSlocal (ats_int_type, tmp107) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_incby_count:
tmp95 = atspre_size_of_uint (arg1) ;
tmp96 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
tmp97 = atspre_lt_size1_size1 (ats_castfn_mac(ats_size_type, tmp95), tmp96) ;
if (tmp97) {
tmp99 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp100 = atspre_lint_of_uint (arg1) ;
tmp98 = atspre_add_lint_lint (tmp99, tmp100) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = tmp98 ;
tmp102 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) ;
tmp101 = atspre_add_int_int (tmp102, ats_castfn_mac(ats_int_type, arg1)) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = tmp101 ;
/* tmp94 = */ queue_clear_01917_ats_uchar_type (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), ats_castfn_mac(ats_size_type, tmp95)) ;
} else {
tmp104 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) ;
tmp103 = atspre_add_lint_lint (tmp104, ats_castfn_mac(ats_lint_type, tmp96)) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base) = tmp103 ;
tmp106 = ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) ;
tmp107 = atspre_int_of_size (tmp96) ;
tmp105 = atspre_add_int_int (tmp106, tmp107) ;
ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), base_ncol) = tmp105 ;
/* tmp94 = */ ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_clear_all (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
} /* end of [if] */
return /* (tmp94) */ ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_incby_count] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 8071(line=406, offs=3) -- 8119(line=407, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0 (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp108) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0:
tmp108 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0 (arg0, 0u, arg1) ;
return (tmp108) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 8183(line=412, offs=3) -- 8231(line=413, offs=37)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (ats_ref_type arg0, ats_uint_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp109) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1:
tmp109 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1 (arg0, 0u, arg1) ;
return (tmp109) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 8318(line=420, offs=3) -- 8782(line=444, offs=4)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp110) ;
ATSlocal (ats_size_type, tmp111) ;
ATSlocal (ats_size_type, tmp112) ;
ATSlocal (ats_size_type, tmp113) ;
ATSlocal (ats_bool_type, tmp114) ;
ATSlocal (ats_size_type, tmp115) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0:
tmp111 = atspre_size_of_uint (arg1) ;
tmp112 = atspre_size_of_uint (arg2) ;
tmp113 = ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__queue_size (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf)) ;
tmp115 = atspre_add_size1_size1 (ats_castfn_mac(ats_size_type, tmp111), ats_castfn_mac(ats_size_type, tmp112)) ;
tmp114 = atspre_lte_size1_size1 (tmp115, tmp113) ;
if (tmp114) {
tmp110 = _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__queue_get_strptr1 (&ats_select_mac(ats_ptrget_mac(pats_lexbuf_struct, arg0), cbuf), ats_castfn_mac(ats_size_type, tmp111), ats_castfn_mac(ats_size_type, tmp112)) ;
} else {
tmp110 = atspre_strptr_null () ;
} /* end of [if] */
return (tmp110) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 8852(line=448, offs=3) -- 8984(line=451, offs=2)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1 (ats_ref_type arg0, ats_uint_type arg1, ats_uint_type arg2) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp116) ;
ATSlocal (ats_ptr_type, tmp117) ;
// ATSlocal_void (tmp118) ;
ATSlocal (ats_bool_type, tmp119) ;
ATSlocal (ats_ptr_type, tmp120) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1:
tmp117 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr0 (arg0, arg1, arg2) ;
tmp119 = atspre_ptr_isnot_null (tmp117) ;
tmp120 = atspre_string_append ("/tmp/ATS-Postiats/src/pats_lexbuf.dats: 8947(line=450, offs=20) -- 8980(line=450, offs=53)", ATSstrcst("\n")) ;
/* tmp118 = */ atspre_assert_errmsg (tmp119, tmp120) ;
tmp116 = tmp117 ;
return (tmp116) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_substrptr1] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 9075(line=457, offs=3) -- 9139(line=458, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr0 (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp121) ;
ATSlocal (ats_uint_type, tmp122) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr0:
tmp122 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ;
tmp121 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr0 (arg0, tmp122) ;
return (tmp121) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr0] */

/*
// /tmp/ATS-Postiats/src/pats_lexbuf.dats: 9209(line=463, offs=3) -- 9274(line=464, offs=52)
*/
ATSglobaldec()
ats_ptr_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1 (ats_ref_type arg0, ats_ref_type arg1) {
/* local vardec */
ATSlocal (ats_ptr_type, tmp123) ;
ATSlocal (ats_uint_type, tmp124) ;

__ats_lab__2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1:
tmp124 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_diff (arg0, arg1) ;
tmp123 = _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbuf_get_strptr1 (arg0, tmp124) ;
return (tmp123) ;
} /* end of [_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__lexbufpos_get_strptr1] */

/* static load function */

// extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload (void) ;
// extern ats_void_type ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload (void) ;
extern ats_void_type ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__staload (void) ;
extern ats_void_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__staload (void) ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__staload () {
static int _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__staload_flag = 0 ;
if (_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__staload_flag) return ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__staload_flag = 1 ;

// _2tmp_2ATS_2dPostiats_2src_2pats_atspre_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_utils_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_location_2esats__staload () ;
// ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__staload () ;
ATS_2d0_2e2_2e12_2libats_2DATS_2linqueue_arr_2edats__staload () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_reader_2esats__staload () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2esats__staload () ;

return ;
} /* staload function */

/* dynamic load function */

// dynload flag declaration
extern ats_int_type _2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__dynload_flag ;

ats_void_type
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__dynload () {
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__dynload_flag = 1 ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__staload () ;

#ifdef _ATS_PROOFCHECK
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_2esats__list_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2list_vt_2esats__list_vt_length_is_nonnegative_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2SATS_2array_2esats__array_v_takeout2_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2list_vt_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____copy_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____free_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2prelude_2DATS_2array_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2SATS_2linqueue_arr_2esats__lemma_queue_param_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2SATS_2deque_arr_2esats__lemma_deque_param_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_encode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_decode_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_v_clear_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_insert_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_beg_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats__DEQUEarr_remove_end_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
ATS_2d0_2e2_2e12_2libats_2ngc_2DATS_2deque_arr_2edats____assert_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_trans_prfck () ;
_2tmp_2ATS_2dPostiats_2src_2pats_lexbuf_2edats__lexbuf0_untrans_prfck () ;
#endif /* _ATS_PROOFCHECK */

/* marking static variables for GC */

/* marking external values for GC */

/* code for dynamic loading */
return ;
} /* end of [dynload function] */

/* external codes at mid */
/* external codes at bot */

/* ****** ****** */

/* end of [pats_lexbuf_dats.c] */
